:root{font-family:Inter,Noto Sans KR,Pretendard,Arial,sans-serif;color:#1f2a24;background:#f4f3ed;font-synthesis:none;--ink: #1f2a24;--muted: #68726b;--line: #d9ddd5;--forest: #28543d;--forest-2: #173a2a;--lime: #cde878;--cream: #f4f3ed;--paper: #fffef9;--orange: #df7048;--blue: #3e6f79}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 10% 10%,rgb(205 232 120 / 12%),transparent 28rem),linear-gradient(180deg,#f7f6f1 0,#efeee8)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.shell{min-height:100vh}.topbar{height:76px;padding:0 max(30px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgb(31 42 36 / 12%);background:#f7f6f1e0;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);position:sticky;z-index:20;top:0}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.brand-mark{width:40px;height:40px;display:grid;place-items:center;background:var(--forest);color:var(--lime);border-radius:50% 50% 48% 52%/45% 45% 55% 55%}.brand-mark svg{width:23px;height:23px}.brand>span:last-child{display:grid}.brand b{font-size:15px;letter-spacing:.08em}.brand small{font:500 8px/1.4 DM Mono,monospace;letter-spacing:.18em;color:#778079}.header-status{font:500 10px DM Mono,monospace;color:#657067;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:8px}.header-status span{width:7px;height:7px;background:#5caa73;border-radius:50%;box-shadow:0 0 0 4px #5caa731f}.ghost-button{display:flex;align-items:center;gap:7px;border:1px solid var(--line);color:#59635c;background:transparent;border-radius:8px;padding:9px 12px;font-size:12px}.ghost-button:hover{background:#fff;color:var(--forest)}.ghost-button svg{width:15px}main{width:min(1320px,calc(100% - 60px));margin:0 auto}.hero{min-height:270px;display:flex;justify-content:space-between;align-items:center;gap:30px;position:relative}.hero:after{content:"";position:absolute;inset:0 -100vw;z-index:-1;background-image:linear-gradient(rgb(40 84 61 / 3%) 1px,transparent 1px),linear-gradient(90deg,rgb(40 84 61 / 3%) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:linear-gradient(to bottom,transparent,black 25%,black 70%,transparent);mask-image:linear-gradient(to bottom,transparent,black 25%,black 70%,transparent)}.section-kicker{color:var(--forest);font:600 10px DM Mono,monospace;letter-spacing:.15em;display:flex;align-items:center;gap:9px;margin-bottom:18px}.section-kicker i{width:24px;height:2px;background:var(--forest)}.hero h1{margin:0 0 13px;font:800 clamp(34px,4vw,54px)/1.1 "Noto Sans KR",sans-serif;letter-spacing:-.045em;color:#1d2d24}.hero p{margin:0;color:#6c756e;font-size:15px;line-height:1.8}.hero-architecture{width:470px;display:flex;align-items:center;justify-content:flex-end;color:#5d6b62}.hero-architecture>span{width:74px;height:74px;flex:0 0 auto;border:1px solid #cdd5cc;border-radius:50%;display:grid;place-content:center;justify-items:center;gap:5px;background:#ffffff8c;font:500 9px DM Mono,monospace}.hero-architecture>span svg{width:24px;height:24px}.hero-architecture>i{height:1px;width:42px;background:#b9c2ba;position:relative}.hero-architecture>i:after{content:"";position:absolute;width:4px;height:4px;right:0;top:-1.5px;background:var(--forest);border-radius:50%}.hero-architecture strong{width:150px;height:106px;display:grid;place-content:center;text-align:center;border:1px solid #64826f;outline:4px solid rgb(40 84 61 / 6%);border-radius:12px;background:var(--forest);color:#fff;font:600 11px/1.45 DM Mono,monospace;letter-spacing:.08em}.hero-architecture strong em{display:block;color:var(--lime);font-style:normal;font-size:8px;margin-bottom:3px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);background:var(--forest-2);border-radius:12px 12px 0 0;overflow:hidden;box-shadow:0 14px 35px #1e302614}.metrics article{min-height:100px;padding:21px 25px;position:relative;border-right:1px solid rgb(255 255 255 / 10%);display:grid;grid-template-columns:1fr auto;align-items:start}.metrics article:last-child{border-right:0}.metrics span{color:#abb8af;font-size:11px}.metrics b{grid-row:span 2;color:#fff;font-size:25px;letter-spacing:-.04em}.metrics small{font:500 8px DM Mono,monospace;color:var(--lime);align-self:end;letter-spacing:.08em}.workspace{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,.78fr);border:1px solid var(--line);border-top:0;background:var(--paper);box-shadow:0 16px 40px #1e302614}.panel{min-width:0;padding:30px}.scenario-panel,.booking-panel{border-right:1px solid var(--line)}.scenario-panel,.availability-panel{border-bottom:1px solid var(--line)}.panel-heading{min-height:45px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px}.panel-heading>div:first-child{display:flex;gap:13px;align-items:flex-start}.panel-heading h2{margin:-3px 0 4px;font-size:18px;letter-spacing:-.03em}.panel-heading p{margin:0;font-size:11px;color:#7a827d}.step{flex:0 0 auto;width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:var(--forest);color:#fff;font:500 10px DM Mono,monospace}.step.neutral{background:#e6e9e2;color:#58645d}.chip,.source-badge{color:var(--forest);border:1px solid #c9d4c6;background:#f3f7ed;padding:6px 9px;border-radius:5px;font:500 8px DM Mono,monospace;letter-spacing:.06em;white-space:nowrap}.form-row{display:grid;grid-template-columns:1.25fr .85fr 18px .85fr .9fr;gap:11px;align-items:end}.field{display:grid;gap:7px}.field>span{font-size:10px;font-weight:700;color:#6a746d}.field input,.field select{width:100%;height:42px;border:1px solid #d7dcd5;border-radius:7px;background:#fbfcf8;color:var(--ink);padding:0 11px;outline:none;font-size:11px}.field input:focus,.field select:focus{border-color:#7b9d86;box-shadow:0 0 0 3px #28543d14}.date-arrow{height:42px;display:grid;place-items:center;color:#89918b}.form-error{min-height:19px;padding:4px 0 0;color:#bb493e;font-size:10px}.request-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:6px}.request-card{border:1px solid #d9ded8;border-radius:9px;overflow:hidden;background:#fff;transition:.18s ease}.request-card.is-success{border-color:#86a790;box-shadow:inset 0 3px var(--forest)}.request-card.is-conflict{border-color:#e6ad97;box-shadow:inset 0 3px var(--orange)}.request-head{padding:13px;display:flex;align-items:center;gap:10px}.channel-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:7px;color:var(--forest);background:#edf3ea}.channel-icon.app{color:var(--blue);background:#edf4f5}.channel-icon.small{width:36px;height:36px}.channel-icon svg{width:17px}.request-head>div{display:grid;gap:2px}.request-head .eyebrow{font:500 7px DM Mono,monospace;color:#8a928d;letter-spacing:.1em}.request-head strong{font-size:11px}.result-pill{margin-left:auto;padding:5px 7px;border-radius:99px;color:#79827c;background:#f1f2ef;font-size:9px;font-weight:700}.is-success .result-pill{color:var(--forest);background:#e6f0e5}.is-conflict .result-pill{color:#b34e35;background:#fbebe5}.code-line{background:#f5f6f2;border-block:1px solid #e4e7e1;padding:8px 13px;color:#67716a;font:400 9px DM Mono,monospace}.code-line span{color:#3c7560;font-weight:600;margin-right:5px}.request-result{min-height:53px;padding:11px 13px;display:flex;align-items:center;gap:9px}.request-result>div{display:grid;gap:2px;min-width:0}.request-result b{font:500 9px DM Mono,monospace;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.request-result small{color:#89918b;font-size:9px}.result-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#c3c9c4}.is-success .result-dot{background:#5da16f}.is-conflict .result-dot{background:var(--orange)}.primary-button{margin-top:15px;width:100%;min-height:58px;padding:9px 14px;display:flex;align-items:center;gap:12px;border:0;border-radius:8px;background:var(--forest);color:#fff;box-shadow:0 5px 15px #28543d26;transition:.16s ease}.primary-button:not(:disabled):hover{background:#1f4934;transform:translateY(-1px)}.primary-button:disabled{opacity:.75}.button-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;color:var(--lime);background:#ffffff1a}.button-icon svg{width:16px}.primary-button>span:nth-child(2){display:grid;gap:2px;text-align:left}.primary-button b{font-size:12px}.primary-button small{color:#a9bdaf;font:400 8px DM Mono,monospace}.primary-button .arrow-icon{margin-left:auto;width:17px}.primary-button.loading .button-icon svg{animation:pulse .7s ease-in-out infinite alternate}@keyframes pulse{to{transform:scale(1.2)}}.availability-panel,.audit-panel{background:#fafbf7}.panel-heading.compact{margin-bottom:18px}.availability-list{display:grid;gap:9px}.availability-row{min-height:61px;display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #dce1da;background:#fff;border-radius:8px}.availability-row>div{display:grid;gap:2px}.availability-row b{font-size:10px}.availability-row small{font-size:8px;color:#89918b}.availability{margin-left:auto;border-radius:99px;padding:5px 8px;font-size:9px;font-weight:700;white-space:nowrap}.availability.open{background:#e6f2e3;color:#37734a}.availability.closed{background:#f9eae5;color:#b04c35}.consistency-note{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px;background:#eff3e7;color:var(--forest);border-radius:7px}.consistency-note>span{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--lime)}.consistency-note svg{width:14px}.consistency-note>div{display:grid;gap:2px}.consistency-note b{font:500 9px DM Mono,monospace}.consistency-note small{font-size:8px;color:#718078}.policy-legend{display:flex;border:1px solid #dbe0da;border-radius:5px;overflow:hidden}.policy-legend span{padding:6px 8px;border-right:1px solid #dbe0da;color:#6c766f;font-size:8px;white-space:nowrap}.policy-legend span:last-child{border:0}.booking-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(200px,.8fr);gap:22px}.booking-summary{min-height:175px;border:1px solid #d9ded8;border-radius:9px;padding:18px;background:#fff}.booking-id{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid #e6e9e4}.booking-id>div{display:grid}.booking-id span:not(.status-mark){font-size:8px;color:#818a84}.booking-id b{font:500 10px DM Mono,monospace}.booking-id em{margin-left:auto;font:500 8px DM Mono,monospace;padding:4px 7px;border-radius:4px;color:#37734a;background:#e5f0e4;font-style:normal}.status-mark{width:8px;height:8px;border-radius:50%;background:#58a06c;box-shadow:0 0 0 5px #58a06c1a}.status-mark.canceled{background:var(--orange)}.booking-id:has(.status-mark.canceled) em{background:#f8e8e2;color:#ac4b34}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-top:15px}.booking-grid>div{display:grid;gap:3px}.booking-grid span{font-size:8px;color:#89918b}.booking-grid b{font-size:10px}.refund-result{margin-top:15px;padding:12px;display:flex;gap:10px;align-items:center;border-radius:7px;background:#f1f5e9}.refund-result>span{width:31px;height:31px;display:grid;place-items:center;color:var(--forest);border-radius:50%;background:var(--lime)}.refund-result>div{display:grid;grid-template-columns:auto auto;column-gap:8px}.refund-result small{grid-column:1;font-size:8px;color:#768079}.refund-result strong{grid-column:2;grid-row:1 / 3;align-self:center;font-size:17px}.refund-result p{grid-column:1;margin:2px 0 0;font-size:9px}.empty-state{min-height:137px;display:grid;place-content:center;justify-items:center;text-align:center}.empty-state>span{width:38px;height:38px;display:grid;place-items:center;color:#819087;background:#eef0eb;border-radius:50%;margin-bottom:8px}.empty-state b{font-size:11px}.empty-state p{margin:4px 0 0;color:#8c948f;font-size:9px}.cancel-controls{display:grid;align-content:start;gap:9px}.secondary-button,.text-button{min-height:39px;padding:0 12px;border:1px solid #ccd4cd;border-radius:7px;color:var(--forest);background:#fff;font-size:10px;font-weight:700}.secondary-button.danger{color:#a84b36;border-color:#e4c0b5;background:#fff9f7}.secondary-button:not(:disabled):hover,.text-button:not(:disabled):hover{border-color:var(--forest)}.secondary-button:disabled,.text-button:disabled{opacity:.42}.button-pair{display:grid;grid-template-columns:.9fr 1.1fr;gap:7px}.text-button{border-color:transparent;background:#eef0eb;color:#647069}.control-help{color:#909792;font-size:8px;line-height:1.5}.audit-list{list-style:none;padding:0;margin:0;display:grid}.audit-list li{display:flex;gap:10px;min-height:52px;position:relative}.audit-list li:not(:last-child):before{content:"";position:absolute;left:13px;top:27px;height:25px;width:1px;background:#d7ddd7}.audit-icon{width:27px;height:27px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:#487454;background:#e5eee2;font:700 11px DM Mono,monospace}.audit-icon.conflict{color:#b04b35;background:#f8e8e2}.audit-icon.cancel{color:#576c5e;background:#e8ece6}.audit-icon svg{width:13px}.audit-list li>div{display:grid;align-content:start;gap:3px;padding-top:2px}.audit-list li b{font-size:9px;line-height:1.45}.audit-list li small{color:#919892;font:400 8px DM Mono,monospace}.audit-list .audit-empty{color:#8a928d;font-size:10px}.implementation-note{min-height:80px;margin:20px 0 34px;padding:18px 22px;display:flex;align-items:center;gap:18px;border:1px solid #d8ddd6;border-radius:10px;background:#fffef9cc}.django-word{color:var(--forest);font:700 14px DM Mono,monospace;letter-spacing:-.06em}.implementation-note>div{display:grid;gap:4px}.implementation-note b{font-size:11px}.implementation-note p{margin:0;color:#7b847e;font-size:9px}code{font-family:DM Mono,monospace;color:#405d4b}.source-badge{margin-left:auto}footer{min-height:75px;padding:0 max(30px,calc((100vw - 1320px)/2));display:flex;justify-content:space-between;align-items:center;color:#87908a;background:#e8e8e2;font:500 8px DM Mono,monospace;letter-spacing:.08em}.toast{position:fixed;z-index:40;bottom:24px;left:50%;transform:translate(-50%,25px);padding:12px 17px;border-radius:8px;background:var(--forest-2);color:#fff;box-shadow:0 12px 32px #14261c42;font-size:11px;opacity:0;pointer-events:none;transition:.2s ease}.toast.visible{opacity:1;transform:translate(-50%)}.toast.warning{background:#8d432f}@media(max-width:1060px){.hero-architecture{width:380px}.hero-architecture>i{width:25px}.form-row{grid-template-columns:1.2fr 1fr 18px 1fr}.amount-field{grid-column:1 / 5}.booking-layout{grid-template-columns:1fr}}@media(max-width:820px){.topbar{padding-inline:20px}.header-status{display:none}main{width:min(100% - 32px,700px)}.hero{min-height:360px;align-items:flex-start;justify-content:center;flex-direction:column}.hero-architecture{width:100%;justify-content:center}.metrics{grid-template-columns:1fr 1fr}.metrics article:nth-child(2){border-right:0}.metrics article:nth-child(-n+2){border-bottom:1px solid rgb(255 255 255 / 10%)}.workspace{grid-template-columns:1fr}.scenario-panel,.booking-panel{border-right:0}.booking-panel{border-bottom:1px solid var(--line)}.implementation-note{align-items:flex-start}}@media(max-width:570px){.topbar{height:66px}.brand-mark{width:36px;height:36px}.ghost-button{width:38px;height:38px;padding:0;justify-content:center;font-size:0}.hero{min-height:390px}.hero h1{font-size:34px}.desktop-break{display:none}.hero-architecture{transform:scale(.88)}.hero-architecture>span{width:64px;height:64px}.hero-architecture strong{width:125px;height:92px}.metrics article{padding:17px;min-height:88px}.metrics b{font-size:21px}.panel{padding:22px 17px}.panel-heading{flex-direction:column;margin-bottom:20px}.chip{margin-left:45px}.form-row{grid-template-columns:1fr 18px 1fr}.site-field,.amount-field{grid-column:1 / 4}.request-grid{grid-template-columns:1fr}.booking-grid{grid-template-columns:1fr 1fr}.policy-legend{margin-left:45px}.policy-legend span{padding-inline:5px}.implementation-note{flex-wrap:wrap}.source-badge{margin-left:0}footer{padding:20px;flex-direction:column;justify-content:center;gap:8px;text-align:center}.toast{width:calc(100% - 32px);text-align:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
