:root{--ink:#1e2922;--muted:#69786d;--green:#194b3b;--line:#dce5dc;--bg:#f5f8f3}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,Noto Sans KR,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:20px max(5vw,24px);display:flex}.topbar>div{gap:6px;display:grid}.eyebrow{color:#57816c;letter-spacing:.17em;font-size:11px;font-weight:800}.dashboard{max-width:1150px;margin:auto;padding:45px 24px 80px}.intro{justify-content:space-between;align-items:end;gap:25px;margin-bottom:42px;display:flex}.intro h1{letter-spacing:-.06em;margin:16px 0;font-size:clamp(34px,5vw,60px);line-height:1.2}.intro h1 em{color:var(--green);font-style:normal}p{line-height:1.6}.muted,.intro p{color:var(--muted)}.status-card{background:#e8f0e8;border-radius:17px;gap:10px;min-width:230px;padding:25px;display:grid}.tabs{border-bottom:1px solid var(--line);gap:6px;margin-bottom:23px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;padding:15px 20px;font-weight:700}.tabs .selected{color:var(--green);box-shadow:inset 0 -3px var(--green)}.panel{border:1px solid var(--line);background:#fff;border-radius:18px;padding:28px;box-shadow:0 8px 26px #163d2410}.panel h2{margin:10px 0 22px;font-size:23px}.panel label{color:#4a5d50;gap:7px;margin:0 0 14px;font-size:13px;font-weight:700;display:grid}.panel input:not([type=checkbox]),.panel textarea,.login input{width:100%;color:var(--ink);background:#fff;border:1px solid #ccd9cd;border-radius:8px;padding:10px}.panel .check{white-space:nowrap;align-items:center;gap:8px;margin:0;display:flex}.primary,.danger,.secondary{border-radius:9px;padding:12px 18px;font-weight:700}.primary{background:var(--green);color:#fff;border:1px solid var(--green)}.danger{color:#fff;background:#aa3838;border:1px solid #aa3838}.secondary{color:var(--green);background:#fff;border:1px solid #acc0ad}.text-button{color:var(--green);background:0 0;border:0;padding:8px;font-weight:700}.call-panel{text-align:center;min-height:475px}.orb{width:108px;height:108px;color:var(--green);background:#e8f0e8;border-radius:50%;place-items:center;margin:18px auto 24px;font-size:52px;display:grid}.orb.live{animation:1.6s infinite pulse}@keyframes pulse{50%{opacity:.7;transform:scale(1.12)}}.transcript{border-top:1px solid var(--line);text-align:left;max-width:640px;margin:35px auto 0;padding-top:20px}.transcript p{font-size:14px}.settings-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.service-row{border:1px solid var(--line);border-radius:10px;grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:10px;margin-bottom:12px;padding:12px;display:grid}.service-row label{margin:0}.hour-row,.closed-row{align-items:center;gap:10px;margin-bottom:12px;display:flex}.hour-row strong{min-width:18px}.hour-row input[type=time]{max-width:110px}.closed-row input[type=date]{max-width:160px}.save-bar{text-align:right;grid-column:1/-1}.section-head{justify-content:space-between;align-items:center;display:flex}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:14px}th{color:var(--muted);font-size:12px}.table-wrap{overflow:auto}.login{background:radial-gradient(circle at 75% 20%,#dceadf,transparent 40%),var(--bg);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:22px;width:min(100%,430px);padding:42px;box-shadow:0 20px 65px #143f311c}.login-card h1{font-size:30px}.login-card form{gap:18px;margin-top:25px;display:grid}.login-card label{gap:8px;display:grid}.login-card button{background:var(--green);color:#fff;border:0;border-radius:9px;padding:13px;font-weight:700}.error{color:#ac3737!important}.notice{color:var(--green)}.banner{border:1px solid var(--line);background:#fff;border-radius:10px;padding:14px 18px}footer{text-align:center;color:#91a298;letter-spacing:.14em;padding:30px;font-size:11px}@media (max-width:780px){.intro{display:block}.status-card{margin-top:24px}.settings-grid{grid-template-columns:1fr}.service-row{grid-template-columns:1fr 1fr}.hour-row{flex-wrap:wrap}.tabs button{padding:13px 10px}}
