:root{font-family:Pretendard,"Noto Sans KR",system-ui,sans-serif;color:#17231f;background:#f4f3ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}.topbar{height:100px;padding:22px max(24px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;background:#173f35;color:white}.eyebrow{margin:0 0 3px;font-size:11px;font-weight:800;letter-spacing:.16em;color:#d9b568}h1,h2,p{margin:0}h1{font-size:25px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}.primary,.secondary{padding:12px 18px;border-radius:10px;font-weight:750}.primary{background:#df8b42;color:#fff}.secondary{background:#e8ebe7;color:#234139}main{max-width:1120px;margin:auto;padding:24px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stats article{padding:20px;border-radius:14px;background:white;border:1px solid #e1dfd6;box-shadow:0 5px 16px #173f350d}.stats span{display:block;color:#6d756f;font-size:13px;margin-bottom:8px}.stats strong{font-size:26px;color:#173f35}.tabs{display:flex;gap:4px;margin:28px 0 14px;border-bottom:1px solid #d6d5ce}.tabs button{padding:12px 18px;background:transparent;color:#747a75;font-weight:700;border-bottom:3px solid transparent}.tabs button.active{color:#173f35;border-color:#df8b42}.panel{display:none}.panel.active{display:block}.panel-head{display:flex;justify-content:space-between;align-items:end;margin:22px 0 15px;gap:16px}.panel-head h2{font-size:21px}.panel-head p{color:#737b76;font-size:14px;margin-top:5px}.panel-head input{width:250px}.panel input,.panel textarea,.inline-form input,.field input,.field select,.field textarea{border:1px solid #d1d4cf;background:white;padding:11px 12px;border-radius:9px;outline:none}.panel input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#307865;box-shadow:0 0 0 3px #30786518}.reservation-list,.product-list{display:grid;gap:10px}.reservation-card,.product-card{background:#fff;border:1px solid #dfded6;border-radius:13px;padding:17px;display:flex;align-items:center;justify-content:space-between;gap:14px}.reservation-card h3,.product-card h3{margin:0 0 5px;font-size:16px}.meta{color:#68716c;font-size:13px;line-height:1.6}.badge{display:inline-block;padding:5px 8px;border-radius:20px;background:#e7f2ed;color:#23614f;font-size:12px;font-weight:750}.badge.returned{background:#ececeb;color:#717471}.badge.active{background:#fff0dc;color:#9a5419}.card-actions{display:flex;align-items:center;gap:9px}.delete{background:transparent;color:#9d554e;padding:8px}.empty{text-align:center;color:#8a908b;padding:56px 20px;border:1px dashed #cbc9c0;border-radius:14px}.inline-form{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:9px;margin-bottom:15px}#copyOutput{display:block;width:100%;margin:14px 0;resize:vertical;line-height:1.7}.field{display:grid;gap:6px;color:#515a55;font-size:13px;font-weight:700}dialog{border:0;border-radius:18px;width:min(620px,calc(100% - 28px));padding:0;box-shadow:0 25px 70px #0004}dialog::backdrop{background:#112b2577;backdrop-filter:blur(2px)}dialog form{padding:24px}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.icon{font-size:28px;background:transparent;color:#65716c}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field.full{grid-column:1/-1}.estimate{display:flex;justify-content:space-between;margin:18px 0;padding:15px;background:#f3f5f2;border-radius:10px}.estimate strong{color:#b65f22}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.alert{margin-top:14px;padding:12px;border-radius:9px;background:#fff0ec;color:#a23d2f;font-size:13px}#toast{position:fixed;left:50%;bottom:24px;translate:-50% 20px;background:#173f35;color:white;padding:11px 18px;border-radius:9px;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;translate:-50% 0}
@media(max-width:650px){.topbar{height:82px;padding:15px 18px}.topbar .primary{padding:10px 13px}main{padding:16px}.stats{gap:8px}.stats article{padding:14px 12px}.stats strong{font-size:20px}.panel-head{align-items:stretch;flex-direction:column}.panel-head input{width:100%}.inline-form{grid-template-columns:1fr 1fr}.inline-form input:first-child{grid-column:1/-1}.reservation-card,.product-card{align-items:flex-start;flex-direction:column}.card-actions{width:100%;justify-content:space-between}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.tabs button{flex:1;padding:11px 5px}}
.topbar{height:auto;min-height:100px}.topbar-actions{display:flex;align-items:center;gap:9px}.topbar-actions span{font-size:13px;color:#dce7e2}.header-button{padding:9px;background:transparent;color:#e9f0ed;border-radius:8px;font-size:13px}.header-button:hover{background:#ffffff18}.password-fields{display:grid;gap:14px}.password-actions{margin-top:20px}.login-page{background:linear-gradient(145deg,#173f35,#286453);display:grid;place-items:center}.login-shell{width:100%;padding:20px}.login-card{width:min(420px,100%);margin:auto;background:white;border-radius:20px;padding:34px;box-shadow:0 24px 70px #09271f66}.login-card h1{color:#173f35;font-size:28px}.login-description{margin:9px 0 25px;color:#6b756f}.login-card form{display:grid;gap:16px}.login-submit{width:100%;margin-top:4px}.login-submit:disabled{opacity:.6;cursor:wait}
@media(max-width:650px){.topbar{height:auto;min-height:82px;align-items:flex-start}.topbar h1{font-size:21px}.topbar-actions{justify-content:flex-end;flex-wrap:wrap;gap:3px}.topbar-actions span{display:none}.header-button{padding:7px 5px;font-size:11px}.topbar .primary{padding:9px 11px}.login-card{padding:26px 22px}}
.protection-actions{display:flex;gap:9px;margin-bottom:15px}.link-button{display:inline-block;text-decoration:none}.protection-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.protection-card{background:#fff;border:1px solid #dfded6;border-radius:13px;padding:18px}.protection-card h3{margin:0 0 8px;font-size:16px}.history-card{margin-top:14px}.muted,.warning-text{color:#737b76;font-size:13px;line-height:1.55}.warning-text{color:#8b5a31}.compact-list{display:grid;gap:8px;margin-top:13px}.compact-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;background:#f5f6f3;border-radius:9px}.compact-item div{min-width:0}.compact-item strong,.compact-item span{display:block;font-size:13px}.compact-item small{display:block;color:#747d77;margin-top:3px}.compact-item button{flex:none}.empty-small{color:#8a908b;font-size:13px;padding:15px 0}.valid-mark{color:#28705c}.invalid-mark{color:#a23d2f}
@media(max-width:650px){.protection-grid{grid-template-columns:1fr}.tabs{overflow-x:auto}.tabs button{min-width:max-content}.compact-item{align-items:flex-start;flex-direction:column}}
.badge-row{display:flex;align-items:center;gap:6px;margin-bottom:5px}.badge-row .badge{margin:0}.sync-badge{display:inline-block;padding:4px 7px;border-radius:20px;font-size:11px;font-weight:750}.sync-badge.synced{background:#e7f2ed;color:#23614f}.sync-badge.pending{background:#eef0f5;color:#586273}.sync-badge.failed{background:#fff0ec;color:#a23d2f}
.calendar-toolbar{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:13px}.calendar-toolbar h3{min-width:120px;margin:0;text-align:center;color:#173f35}.calendar-nav{padding:7px 14px;font-size:22px;line-height:1}.calendar-weekdays,.booking-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:#173f35;color:#fff;border-radius:10px 10px 0 0}.calendar-weekdays span{text-align:center;padding:9px 3px;font-size:12px;font-weight:750}.calendar-weekdays span:first-child{color:#ffc2b9}.calendar-weekdays span:last-child{color:#b9dcff}.booking-calendar{border-left:1px solid #dddcd5;border-top:1px solid #dddcd5;background:#fff}.calendar-day{min-width:0;min-height:112px;padding:7px;border-right:1px solid #dddcd5;border-bottom:1px solid #dddcd5}.calendar-day.outside{background:#f5f5f2;color:#a9ada9}.calendar-day.today .calendar-date{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#df8b42;color:#fff}.calendar-date{display:block;height:25px;font-size:12px;font-weight:750}.calendar-events{display:grid;gap:4px}.calendar-entry{overflow:hidden;padding:4px 5px;border-left:4px solid var(--event-color);border-radius:4px;background:color-mix(in srgb,var(--event-color) 12%,white);color:#27342f;font-size:11px;line-height:1.3;overflow-wrap:anywhere}
@media(max-width:650px){.calendar-day{min-height:88px;padding:4px}.calendar-entry{padding:3px;border-left-width:3px;font-size:9px}.calendar-weekdays span{padding:7px 2px}.calendar-date{font-size:11px}}
