:root{--ink:#16191d;--muted:#737b87;--line:#e8ebef;--mist:#f5f7f9;--blue:#5577ee;--blue-soft:#eef2ff;--violet:#8269e8;--green:#1b9c74;--coral:#ef6b63;--sidebar:236px;--radius:18px}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:"Noto Sans KR",sans-serif;font-size:14px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:24px 16px 18px;background:#f7f8fa;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:10;transition:.25s ease}.brand{height:52px;display:flex;align-items:center;gap:10px;padding:0 8px 18px}.brand-mark{display:grid;place-items:center;width:32px;height:32px;background:var(--ink);color:white;border-radius:10px;font-size:15px;font-weight:800}.brand-name{font-size:21px;font-weight:800;letter-spacing:-.8px}.nav-label{margin:22px 10px 8px;color:#a0a6ae;font-size:11px;font-weight:700;letter-spacing:.08em}.nav-item{height:43px;padding:0 12px;border-radius:11px;display:flex;align-items:center;gap:11px;color:#535b65;text-decoration:none;margin:2px 0}.nav-item span{width:20px;text-align:center;font-size:17px}.nav-item b{font-weight:600;flex:1}.nav-item em{font-style:normal;background:#fee9e7;color:#ce4d47;border-radius:20px;padding:2px 7px;font:600 10px "IBM Plex Mono"}.nav-item em.neutral{background:#e9edf1;color:#5f6873}.nav-item:hover{background:#eef1f4;color:var(--ink)}.nav-item.active{background:#e8ecf0;color:var(--ink)}.admin-profile{margin-top:auto;border-top:1px solid #e2e5e9;padding:17px 7px 0;display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#dfe4e9;font-weight:700}.admin-profile div{display:flex;flex-direction:column;flex:1}.admin-profile strong{font-size:13px}.admin-profile small{color:var(--muted);font-size:11px;margin-top:2px}.admin-profile button{border:0;background:none;font-size:17px}.topbar{margin-left:var(--sidebar);height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;transition:.25s ease}.collapse,.icon-button{border:1px solid var(--line);background:#fff;border-radius:10px;width:36px;height:36px;cursor:pointer}.top-actions{display:flex;gap:17px;align-items:center;color:var(--muted);font-size:12px}.icon-button{position:relative;font-size:18px}.icon-button i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--coral);right:7px;top:7px}main{min-height:100vh}.content{margin-left:var(--sidebar);padding:44px 38px 60px;max-width:1800px;transition:.25s ease}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:31px}.eyebrow{font:600 10px "IBM Plex Mono"!important;letter-spacing:.14em;color:var(--blue)!important;margin-bottom:8px!important}.page-heading h1{font-size:30px;letter-spacing:-1.6px;margin:0 0 7px}.page-heading p{margin:0;color:var(--muted)}button{font-family:inherit}.export{height:39px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 14px;font-weight:600;cursor:pointer}.export:hover{border-color:#bdc5ce}.export span{margin-left:10px}.control-row{display:flex;align-items:center;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:22px}.periods{padding:3px;background:var(--mist);border-radius:10px;display:flex}.period,.view-toggle button{border:0;background:transparent;color:var(--muted);font-size:12px;padding:7px 13px;border-radius:8px;cursor:pointer}.period.active,.view-toggle button.active{background:#fff;color:var(--ink);font-weight:700;box-shadow:0 1px 4px #14191f12}.date-range{color:var(--muted);font-size:12px;margin-left:14px}.view-toggle{margin-left:auto;display:flex;background:var(--mist);border-radius:10px;padding:3px}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:16px}.metric{border:1px solid var(--line);border-radius:var(--radius);padding:21px 21px 19px;min-height:155px;background:#fff;transition:transform .2s,box-shadow .2s}.metric:hover{transform:translateY(-2px);box-shadow:0 10px 30px #18202d0a}.metric.featured{background:var(--ink);color:#fff;border-color:var(--ink)}.metric.featured p{color:#aeb5bd}.metric.alert{border-color:#f0c5c2;background:#fffafa}.metric-head{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:600}.featured .metric-head{color:#c9ced4}.dot{width:7px;height:7px;border-radius:50%}.dot.blue{background:var(--blue)}.dot.violet{background:var(--violet)}.dot.green{background:var(--green)}.dot.coral{background:var(--coral)}.live{font:600 9px "IBM Plex Mono";letter-spacing:.08em;color:#9fb0ff;border:1px solid #4d5560;border-radius:10px;padding:3px 6px}.metric strong{display:block;margin-top:17px;font:600 27px "IBM Plex Mono",sans-serif;letter-spacing:-1.5px}.metric strong small{font:600 12px "Noto Sans KR";letter-spacing:0;margin-left:4px}.metric p{margin:12px 0 0;color:var(--muted);font-size:11px}.metric p b{color:#4f5863;margin-right:4px}.metric .up{color:var(--blue)}.metric .down,.danger{color:var(--coral)!important}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,.72fr);gap:16px;margin-bottom:16px}.panel{border:1px solid var(--line);border-radius:var(--radius);padding:23px;background:#fff}.panel-title{display:flex;align-items:flex-start;justify-content:space-between}.panel h2{font-size:16px;letter-spacing:-.5px;margin:0 0 5px}.panel-title p{font-size:11px;color:var(--muted);margin:0}.legend{display:flex;gap:15px;color:var(--muted);font-size:10px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:15px;height:2px}.line-blue{background:var(--blue)}.line-dark{background:#343b43}.chart-wrap{height:240px;margin-top:15px;padding:0 0 22px 34px;position:relative}.chart-y{position:absolute;left:0;top:5px;bottom:22px;display:flex;flex-direction:column;justify-content:space-between;color:#a1a8b0;font:500 9px "IBM Plex Mono"}.line-chart{width:100%;height:100%;overflow:visible}.grid-lines line{stroke:#edf0f3;stroke-width:1}.area{fill:url(#area)}.visitors,.sales{fill:none;stroke-width:2.5;stroke-linecap:round}.visitors{stroke:var(--blue)}.sales{stroke:#343b43;stroke-width:1.5}.point{fill:#fff;stroke:var(--blue);stroke-width:3}.chart-x{display:flex;justify-content:space-between;color:#a1a8b0;font:500 9px "IBM Plex Mono";margin-top:-6px}.text-button{border:0;background:none;color:var(--blue);font-size:11px;font-weight:700;cursor:pointer}.status-total{padding:20px 0 17px;border-bottom:1px solid var(--line);margin-top:8px;display:flex;align-items:end;justify-content:space-between;color:var(--muted);font-size:12px}.status-total strong{font:600 31px "IBM Plex Mono";color:var(--ink)}.status-total small{font:600 11px "Noto Sans KR";margin-left:3px}.status-list{padding:15px 0}.status-list div{height:35px;display:flex;justify-content:space-between;align-items:center}.status-list span{display:flex;align-items:center;gap:9px;font-size:12px}.status-list b{font:600 13px "IBM Plex Mono"}.status-dot{width:8px;height:8px;border-radius:3px}.status-dot.waiting{background:#bdc4cd}.status-dot.working{background:var(--blue)}.status-dot.failed{background:var(--coral)}.failure-button{width:100%;height:39px;border:0;border-radius:10px;background:#fff0ef;color:#c94e47;font-weight:700;font-size:11px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;cursor:pointer}.journey-panel{margin-bottom:16px}.journey{display:grid;grid-template-columns:1fr 72px 1fr 72px 1fr 72px 1fr 72px 1fr;align-items:center;margin-top:24px}.journey>div{padding:13px 16px;background:var(--mist);border-radius:13px;display:grid;grid-template-columns:1fr auto;gap:5px}.journey span{font-size:11px;color:var(--muted)}.journey strong{font:600 20px "IBM Plex Mono"}.journey small{grid-column:2;grid-row:1;color:#8c949e;font:500 10px "IBM Plex Mono"}.journey .complete{background:var(--blue-soft);outline:1px solid #dbe2ff}.journey .complete strong{color:#3455ca}.journey>i{height:4px;background:#edf0f3;position:relative}.journey>i b{position:absolute;left:0;top:0;bottom:0;background:#aebdf8}.bottom-grid{grid-template-columns:minmax(0,1.2fr) minmax(390px,.8fr)}.table-wrap{overflow:auto;margin-top:15px}table{border-collapse:collapse;width:100%;font-size:11px}th{text-align:left;color:#939aa4;font-weight:500;padding:10px 8px;border-bottom:1px solid var(--line)}td{padding:12px 8px;border-bottom:1px solid #f0f2f4;white-space:nowrap}tbody tr:last-child td{border-bottom:0}td:first-child{display:flex;align-items:center;gap:8px}.source{width:23px;height:23px;display:grid;place-items:center;border-radius:7px;font:600 9px "IBM Plex Mono"}.source.meta{background:#e9edff;color:#4565db}.source.naver{background:#e5f7ef;color:#16835f}.source.direct{background:#ecedef;color:#4d5660}.source.etc{background:#f5ebff;color:#7b54b3}td em{font-style:normal;padding:3px 6px;background:#f1f3f5;border-radius:6px}.good{background:#e7f7f1;color:#17835f}.low{background:#fff0ef;color:#cd554e}.orders{list-style:none;margin:14px 0 0;padding:0}.orders li{display:grid;grid-template-columns:34px 1fr auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #f0f2f4}.orders li:last-child{border:0}.order-icon{width:32px;height:32px;border-radius:9px;background:#f1edff;color:#7659cf;display:grid;place-items:center;font-weight:800;font-size:11px}.order-icon.blue{background:#eaf0ff;color:#4d6cdb}.order-icon.coral{background:#fff0ef;color:#c5544e}.order-icon.green{background:#e8f7f1;color:#1c8565}.orders div{display:flex;flex-direction:column;gap:2px}.orders b{font:600 10px "IBM Plex Mono"}.orders small,.orders time{font-size:10px;color:var(--muted)}.badge{font-style:normal;font-size:9px;font-weight:700;border-radius:6px;padding:4px 7px}.badge.working{background:#edf1ff;color:#4f6ddd}.badge.done{background:#e7f7f1;color:#218162}.badge.failed{background:#fff0ef;color:#ca514b}.sidebar.collapsed{width:76px}.sidebar.collapsed .brand-name,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-item b,.sidebar.collapsed .nav-item em,.sidebar.collapsed .admin-profile div,.sidebar.collapsed .admin-profile button{display:none}.sidebar.collapsed .brand{padding-left:6px}.sidebar.collapsed .nav-item{justify-content:center}.sidebar.collapsed .admin-profile{justify-content:center}.sidebar.collapsed~main .topbar,.sidebar.collapsed~main .content{margin-left:76px}
@media(max-width:1200px){.metric-grid{grid-template-columns:repeat(3,1fr)}.metric:nth-child(4),.metric:nth-child(5){grid-column:span 1}.journey{grid-template-columns:repeat(5,1fr);gap:8px}.journey>i{display:none}.dashboard-grid,.bottom-grid{grid-template-columns:1fr}}
@media(max-width:760px){:root{--sidebar:0px}.sidebar{transform:translateX(-100%);width:236px;box-shadow:15px 0 40px #18202d1c}.sidebar.open{transform:translateX(0)}.topbar,.content{margin-left:0!important}.content{padding:28px 16px}.page-heading{align-items:flex-start}.page-heading h1{font-size:25px}.export{display:none}.control-row{flex-wrap:wrap;gap:10px}.date-range{order:3;width:100%;margin-left:0}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric{min-height:140px}.metric.featured{grid-column:span 2}.metric strong{font-size:23px}.dashboard-grid{grid-template-columns:1fr}.chart-panel{overflow:hidden}.journey{grid-template-columns:repeat(2,1fr)}.journey .complete{grid-column:span 2}.bottom-grid{grid-template-columns:1fr}.orders li{grid-template-columns:34px 1fr auto}.orders time{display:none}}
@media(max-width:430px){.metric-grid{grid-template-columns:1fr}.metric.featured{grid-column:span 1}.period{padding:7px 10px}.view-toggle{margin-left:0}.top-actions span{display:none}.journey{grid-template-columns:1fr}.journey .complete{grid-column:span 1}.panel{padding:18px}.legend{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
:focus-visible{outline:3px solid #aebdf8;outline-offset:2px}

/* Page navigation transition */
@view-transition{navigation:auto}.sidebar{view-transition-name:admin-sidebar}.topbar{view-transition-name:admin-topbar}.content{view-transition-name:admin-content;animation:page-enter .26s cubic-bezier(.2,.7,.2,1) both}body.page-leaving .content{animation:page-leave .13s ease both;pointer-events:none}.nav-item{transition:background-color .18s ease,color .18s ease,transform .18s ease}.nav-item:active{transform:scale(.985)}
@keyframes page-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes page-leave{to{opacity:0;transform:translateY(-4px)}}
::view-transition-old(admin-sidebar),::view-transition-new(admin-sidebar),::view-transition-old(admin-topbar),::view-transition-new(admin-topbar){animation:none}::view-transition-old(admin-content){animation:.13s ease both page-leave}::view-transition-new(admin-content){animation:.26s cubic-bezier(.2,.7,.2,1) both page-enter}

/* Management lists */
.manage-content{max-width:none}.primary-action{height:40px;border:0;border-radius:11px;background:var(--ink);color:#fff;padding:0 16px;font-weight:700;cursor:pointer}.summary-strip{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}.summary-strip>div{padding:18px 20px;border-right:1px solid var(--line);background:#fff}.summary-strip>div:last-child{border:0}.summary-strip span{display:block;color:var(--muted);font-size:11px;margin-bottom:8px}.summary-strip strong{font:600 22px "IBM Plex Mono"}.summary-strip small{font-size:10px;margin-left:3px}.summary-strip .warning{background:#fffafa}.summary-strip .warning strong{color:var(--coral)}.list-panel{padding:0;overflow:hidden}.list-tools{min-height:72px;padding:15px 18px;display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line)}.search-box{height:40px;width:295px;border:1px solid var(--line);border-radius:11px;display:flex;align-items:center;padding:0 12px;gap:8px}.search-box span{font-size:18px;color:#858d97}.search-box input{width:100%;border:0;outline:0;font:12px "Noto Sans KR";background:transparent}.filter-group{display:flex;gap:4px}.filter-group button,.filter-button{height:36px;border:0;border-radius:9px;padding:0 11px;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.filter-group button.active{background:var(--mist);color:var(--ink);font-weight:700}.filter-group b{font:600 9px "IBM Plex Mono";margin-left:4px}.filter-group .red{color:var(--coral)}.filter-button{margin-left:auto;border:1px solid var(--line);background:#fff;color:var(--ink)}.management-table{margin:0;min-height:420px}.management-table table{font-size:11px}.management-table th{height:46px;padding:0 12px;background:#fafbfc;white-space:nowrap}.management-table td{height:64px;padding:0 12px}.management-table th:first-child,.management-table td:first-child{width:42px;display:table-cell}.management-table td:nth-child(3){white-space:normal}.management-table td>small,.management-table td span>small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.row-link{border:0;background:none;padding:0;color:#3659ce;font:600 10px "IBM Plex Mono";cursor:pointer}.status-chip{display:inline-block;font-style:normal;font-size:9px;font-weight:700;padding:4px 7px;border-radius:6px}.status-chip.paid{background:#edf1ff;color:#4d6bd9}.status-chip.working{background:#edf1ff;color:#4d6bd9}.status-chip.done{background:#e7f7f1;color:#1f8263}.status-chip.failed{background:#fff0ef;color:#ca514b}.status-chip.waiting{background:#f0f2f4;color:#6b747e}.more{border:0;background:none;color:#858d97;cursor:pointer}.list-footer{height:62px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.list-footer div{display:flex;gap:4px}.list-footer button{width:29px;height:29px;border:1px solid var(--line);background:#fff;border-radius:8px;font-size:10px}.list-footer button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.list-footer button:disabled{opacity:.4}.drawer-backdrop{position:fixed;inset:0;background:#10151b35;z-index:20;opacity:0;pointer-events:none;transition:.2s}.drawer-backdrop.open{opacity:1;pointer-events:auto}.detail-drawer{position:fixed;z-index:21;right:0;top:0;bottom:0;width:min(440px,100%);background:#fff;box-shadow:-20px 0 60px #1218201a;transform:translateX(100%);transition:.25s ease;display:flex;flex-direction:column}.detail-drawer.open{transform:translateX(0)}.drawer-head{height:92px;padding:22px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.drawer-head .eyebrow{margin-bottom:4px!important}.drawer-head h2{font-size:18px;margin:0}.drawer-close{width:34px;height:34px;border:1px solid var(--line);background:#fff;border-radius:9px;font-size:21px;cursor:pointer}.drawer-body{padding:22px 24px;overflow:auto;flex:1}.state-banner{background:var(--blue-soft);border:1px solid #dce3ff;border-radius:14px;padding:16px;display:grid;grid-template-columns:1fr auto;gap:7px}.state-banner span{font-size:10px;color:#69717c}.state-banner strong{font-size:12px;color:#3b5dce}.state-banner strong i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--blue);margin-right:5px}.state-banner small{grid-column:1/-1;color:#7e8793;font-size:10px}.drawer-body section{padding:24px 0;border-bottom:1px solid var(--line)}.drawer-body section:last-child{border:0}.drawer-body section h3{font-size:13px;margin:0 0 15px}.drawer-body dl{margin:0}.drawer-body dl div{display:flex;justify-content:space-between;padding:7px 0;font-size:11px}.drawer-body dt{color:var(--muted)}.drawer-body dd{margin:0;font-weight:600}.timeline{list-style:none;padding:0 0 0 8px;margin:0}.timeline li{position:relative;padding:0 0 20px 24px;border-left:1px solid #dfe3e7}.timeline li:last-child{border:0;padding-bottom:0}.timeline li:before{content:"";position:absolute;left:-5px;top:2px;width:8px;height:8px;border-radius:50%;background:#d6dbe0}.timeline li.done:before{background:var(--green)}.timeline li.current:before{background:var(--blue);box-shadow:0 0 0 4px #e6ebff}.timeline b,.timeline small{display:block;font-size:11px}.timeline small{color:var(--muted);margin-top:3px;font-size:9px}.drawer-actions{height:76px;border-top:1px solid var(--line);padding:16px 24px;display:grid;grid-template-columns:1fr 1.5fr;gap:8px}.drawer-actions button{border:1px solid var(--line);border-radius:10px;background:#fff;font-size:11px;font-weight:700}.drawer-actions .primary-action{border:0;background:var(--ink)}.customer-link{display:flex;align-items:center;gap:9px;border:0;background:none;text-align:left;padding:0;cursor:pointer}.customer-link>span:last-child{display:flex;flex-direction:column}.customer-avatar,.profile-avatar{width:32px;height:32px;border-radius:10px;background:#f0edff;color:#7458c8;display:grid;place-items:center;font-weight:800}.customer-avatar.blue{background:#eaf0ff;color:#4d6cdb}.customer-avatar.coral{background:#fff0ef;color:#c5544e}.customer-avatar.green{background:#e8f7f1;color:#1c8565}.customer-avatar.violet{background:#f2edff;color:#7557c8}.login-chip{font-style:normal;border-radius:7px;padding:5px 7px;font-size:9px;font-weight:700}.login-chip.kakao{background:#fff6cb;color:#725e00}.login-chip.naver{background:#e5f7ef;color:#16835f}.profile-card{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:17px;background:var(--mist);border-radius:14px}.profile-avatar{width:48px;height:48px;border-radius:15px;font-size:16px}.profile-card h3{margin:0 0 4px;font-size:15px}.profile-card p{margin:0;color:var(--muted);font-size:10px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-heading h3{margin:0!important}.section-heading button{border:0;background:none;color:var(--blue);font-size:10px;font-weight:700}.saju-person{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #f0f2f4}.saju-person:last-child{border:0}.saju-person>span{background:#eef1f4;border-radius:7px;padding:4px 7px;font-size:9px}.saju-person div{display:flex;flex-direction:column;gap:3px}.saju-person b{font-size:11px}.saju-person small{color:var(--muted);font-size:9px}.purchase-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f0f2f4}.purchase-item:last-child{border:0}.purchase-item div{display:flex;flex-direction:column;gap:3px}.purchase-item b,.purchase-item strong{font-size:11px}.purchase-item small{color:var(--muted);font-size:9px}.empty-row td{text-align:center!important;color:var(--muted);padding:60px!important}.hidden-row{display:none}
@media(max-width:1100px){.summary-strip{grid-template-columns:repeat(3,1fr)}.summary-strip>div:nth-child(3){border-right:0}.summary-strip>div:nth-child(n+4){border-top:1px solid var(--line)}.list-tools{flex-wrap:wrap}.filter-group{order:3;width:100%;overflow:auto}.management-table{overflow:auto}.management-table table{min-width:1050px}}
@media(max-width:760px){.manage-content .page-heading{margin-bottom:22px;gap:14px}.manage-content .page-heading .primary-action{display:block;white-space:nowrap}.summary-strip{grid-template-columns:repeat(2,1fr)}.summary-strip>div{border-bottom:1px solid var(--line)}.summary-strip>div:nth-child(2n){border-right:0}.summary-strip>div:last-child{grid-column:span 2}.search-box{width:calc(100% - 86px)}.filter-button{margin-left:0}.filter-group{padding-bottom:3px}.list-panel{border-radius:14px}.detail-drawer{width:100%}}

/* Fully interactive order controls */
.date-filter-bar{display:flex;align-items:center;gap:16px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;margin-bottom:16px;background:#fff}.quick-dates{display:flex;background:var(--mist);padding:3px;border-radius:9px}.quick-dates button{height:31px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.quick-dates button.active{background:#fff;color:var(--ink);font-weight:700;box-shadow:0 1px 4px #14191f12}.date-inputs{display:flex;align-items:center;gap:7px}.date-inputs label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px}.date-inputs input{height:32px;border:1px solid var(--line);border-radius:8px;padding:0 8px;font:10px "IBM Plex Mono";color:var(--ink)}.date-inputs>button{height:32px;border:0;border-radius:8px;background:var(--ink);color:#fff;padding:0 12px;font-size:10px;font-weight:700}.date-result{margin-left:auto;color:var(--muted);font-size:10px}.bulk-actions{display:none;align-items:center;gap:8px;min-height:52px;padding:8px 17px;background:#f0f3ff;border-bottom:1px solid #dfe5ff}.bulk-actions.open{display:flex}.bulk-actions b{margin-right:5px;color:#3f5fce;font-size:11px}.bulk-actions button{height:31px;border:1px solid #d6dffb;background:#fff;border-radius:8px;padding:0 10px;font-size:10px;font-weight:600}.bulk-actions .danger-action{color:#c34e48;border-color:#efcfcc}.bulk-actions .bulk-close{margin-left:auto;border:0;background:transparent;font-size:17px}.management-table tr.selected{background:#f6f8ff}.management-table input[type=checkbox]{width:14px;height:14px;accent-color:var(--blue);cursor:pointer}.modal-backdrop{position:fixed;inset:0;background:#10151b45;z-index:30;opacity:0;pointer-events:none;transition:.2s}.modal-backdrop.open{opacity:1;pointer-events:auto}.modal{position:fixed;z-index:31;left:50%;top:50%;width:min(560px,calc(100% - 32px));max-height:calc(100vh - 40px);overflow:auto;transform:translate(-50%,-46%) scale(.98);background:#fff;border-radius:20px;box-shadow:0 30px 80px #10161d33;opacity:0;pointer-events:none;transition:.2s}.modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.modal-head{height:85px;padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-head h2{font-size:18px;margin:0}.modal-close,.result-close{width:34px;height:34px;border:1px solid var(--line);background:#fff;border-radius:9px;font-size:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:22px}.form-grid label{display:flex;flex-direction:column;gap:7px;color:#555e68;font-size:10px;font-weight:600}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select{width:100%;height:42px;border:1px solid var(--line);border-radius:10px;padding:0 11px;background:#fff;font:11px "Noto Sans KR"}.form-grid input:focus,.form-grid select:focus{border-color:#9eaff0;outline:3px solid #edf1ff}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:15px 22px;border-top:1px solid var(--line)}.modal-actions button{height:39px;min-width:90px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:11px;font-weight:700}.modal-actions .primary-action{border:0;background:var(--ink)}.action-menu{position:fixed;z-index:25;width:166px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 35px #151b241f;display:none}.action-menu.open{display:block}.action-menu button{width:100%;height:34px;border:0;background:#fff;border-radius:7px;text-align:left;padding:0 10px;font-size:10px}.action-menu button:hover{background:var(--mist)}.action-menu hr{border:0;border-top:1px solid var(--line);margin:5px}.action-menu .danger-text{color:#c74e48}.compact-modal{width:min(460px,calc(100% - 32px))}.result-preview{padding:27px 24px}.result-preview>span{color:var(--blue);font-size:10px;font-weight:700}.result-preview h3{font-size:21px;letter-spacing:-1px;margin:9px 0}.result-preview p{color:var(--muted);font-size:11px;line-height:1.7}.result-preview>div{height:150px;border-radius:13px;background:linear-gradient(135deg,#f2f4fb,#f8f8f5);display:grid;place-items:center;color:#8d95a0;font-size:11px;margin-top:18px}.toast{position:fixed;z-index:50;left:50%;bottom:28px;transform:translate(-50%,20px);padding:11px 16px;background:var(--ink);color:#fff;border-radius:10px;box-shadow:0 12px 35px #10161d2e;font-size:11px;opacity:0;pointer-events:none;transition:.2s}.toast.open{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.date-filter-bar{align-items:flex-start;flex-wrap:wrap}.date-result{width:100%;margin-left:0}.date-inputs{margin-left:auto}}
@media(max-width:600px){.date-filter-bar{gap:9px}.quick-dates{width:100%}.quick-dates button{flex:1}.date-inputs{width:100%;margin:0;display:grid;grid-template-columns:1fr auto 1fr auto}.date-inputs label{display:block}.date-inputs label input{width:100%;margin-top:4px}.bulk-actions{overflow:auto}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}}

/* Saju-damda style range calendar + operational history */
.calendar-control{position:relative}.calendar-trigger{width:260px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;display:flex;align-items:center;gap:9px;padding:0 12px;color:var(--ink);cursor:pointer}.calendar-trigger span{color:var(--blue)}.calendar-trigger b{font:500 11px "IBM Plex Mono";flex:1;text-align:left}.calendar-trigger i{font-style:normal;color:var(--muted)}.calendar-popover{display:none;position:absolute;top:46px;left:0;z-index:28;width:620px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px #17202b20;overflow:hidden}.calendar-popover.open{display:flex}.calendar-shortcuts{width:88px;padding:12px 9px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.calendar-shortcuts button{height:31px;border:0;border-radius:7px;background:#fff;text-align:left;padding:0 10px;color:#626b75;font-size:10px}.calendar-shortcuts button:hover{background:#f3f6ff;color:var(--blue)}.calendar-shortcuts button.active{background:var(--blue);color:#fff;font-weight:700}.calendar-shortcuts .clear{margin-top:auto;color:var(--coral)}.calendar-main{flex:1;padding:12px 16px}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.calendar-nav button{width:29px;height:29px;border:0;border-radius:8px;background:#fff;font-size:20px}.calendar-nav button:hover{background:var(--mist)}.calendar-nav strong{font-size:11px}.dual-calendar{display:grid;grid-template-columns:1fr 1fr;gap:22px}.month-calendar>b{display:block;text-align:center;font-size:11px;margin-bottom:8px}.week-labels,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.week-labels span{height:26px;display:grid;place-items:center;color:#9aa1aa;font-size:9px}.calendar-days i,.calendar-days button{height:29px}.calendar-days button{border:0;background:#fff;font:500 9px "IBM Plex Mono";position:relative}.calendar-days button:hover{background:#f1f4ff;border-radius:50%}.calendar-days button.in-range{background:#edf1ff;color:#3458cf}.calendar-days button.range-edge{background:var(--blue);color:#fff;border-radius:50%}.calendar-main>p{text-align:center;color:#9098a2;font-size:9px;margin:9px 0 0}.alimtalk-cell{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.alimtalk-cell small{color:#526cc7!important;font-size:8px!important;margin:0!important}.audit-empty{padding:13px;background:var(--mist);border-radius:10px;color:var(--muted);font-size:10px;line-height:1.5}.form-notice{margin:20px 22px 0;padding:12px 14px;background:#f6f8fb;border-radius:10px;color:#66707b;font-size:10px}.form-notice b{color:var(--ink)}.inline-check{display:flex;align-items:center;gap:4px;float:right;font-weight:400;color:var(--muted)}.inline-check input{width:13px!important;height:13px!important}.form-grid textarea{border:1px solid var(--line);border-radius:10px;padding:10px 11px;resize:vertical;font:11px "Noto Sans KR"}.regenerate-note{margin:0 22px 20px;padding:13px 14px;border:1px solid #dce3ff;background:#f5f7ff;border-radius:11px;display:grid;grid-template-columns:1fr auto;gap:4px}.regenerate-note b{font-size:11px}.regenerate-note span{grid-column:1;color:#737d88;font-size:9px}.regenerate-note label{grid-column:2;grid-row:1/3;display:flex;align-items:center;gap:6px;font-size:10px}.edit-mark{display:inline-block;margin-top:4px;padding:2px 5px;border-radius:5px;background:#fff0d9;color:#9a6500;font-style:normal;font-size:8px}
@media(max-width:700px){.calendar-trigger{width:100%}.calendar-control{width:100%}.calendar-popover{width:min(620px,calc(100vw - 32px))}.dual-calendar{grid-template-columns:1fr}.month-calendar:nth-child(2){display:none}.calendar-shortcuts{width:76px}}
.source-chip{display:inline-block;padding:5px 7px;border-radius:7px;background:#f0f2f4;color:#626b75;font-style:normal;font-size:9px;font-weight:700}.source-chip.meta-source{background:#edf0ff;color:#4d62c9}
