:root{--green:#204D41;--green2:#2f7d62;--bg:#f3f5f4;--card:#fff;--line:#d5dcd9;--text:#1b2326;--muted:#5d696e;--red:#b42318;--blue:#1f5fa8;--amber:#fff4d6}
*{box-sizing:border-box}
html{font-size:17px}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Malgun Gothic","Noto Sans KR","Apple SD Gothic Neo",system-ui,sans-serif;line-height:1.5}
a{color:var(--blue);text-decoration:none}
.nav{background:var(--green);color:#fff;display:flex;align-items:center;gap:6px;padding:8px 18px;flex-wrap:wrap;position:sticky;top:0;z-index:20}
.nav .brand{font-weight:700;font-size:1.15rem;margin-right:14px;color:#fff}
.nav a{color:#fff;padding:9px 15px;border-radius:8px;font-size:1rem}
.nav a:hover,.nav a.on{background:rgba(255,255,255,.18)}
.nav .sp{flex:1}
.nav form.s{display:flex;gap:6px}
.nav form.s input{padding:8px 12px;border-radius:8px;border:0;font-size:1rem;width:190px}
.nav .who{opacity:.9;font-size:.95rem;padding:0 8px}
.wrap{max-width:1280px;margin:0 auto;padding:18px}
.narrow{max-width:820px}
h1{font-size:1.6rem;margin:6px 0 14px}
h2{font-size:1.25rem;margin:0 0 12px;color:var(--green)}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:16px}
.flash{padding:13px 16px;border-radius:10px;margin-bottom:12px;font-size:1.02rem;border:1px solid}
.flash.ok{background:#e6f4ec;border-color:#9fd1b3;color:#14532d}
.flash.err{background:#fdeceb;border-color:#f0b4af;color:var(--red)}
.flash.warn{background:var(--amber);border-color:#e6cf8a;color:#6b4e00}
.btn{display:inline-block;min-height:46px;padding:10px 20px;border-radius:10px;border:1px solid var(--green);background:var(--green);color:#fff;font-size:1.02rem;font-weight:600;cursor:pointer;text-align:center}
.btn:hover{background:#17382f}
.btn.sec{background:#fff;color:var(--green)}
.btn.sec:hover{background:#eef4f1}
.btn.danger{background:#fff;color:var(--red);border-color:var(--red)}
.btn.sm{min-height:36px;padding:5px 12px;font-size:.92rem}
.btn.block{display:block;width:100%}
label{display:block;font-weight:700;margin:14px 0 5px;font-size:1rem}
label .hint{font-weight:400;color:var(--muted);font-size:.9rem}
input[type=text],input[type=tel],input[type=email],input[type=date],input[type=time],input[type=number],input[type=password],select,textarea{width:100%;min-height:46px;padding:9px 12px;border:1.5px solid #a9b5b0;border-radius:9px;font-size:1.05rem;font-family:inherit;background:#fff;color:var(--text)}
input:focus,select:focus,textarea:focus{outline:3px solid #b7dccb;border-color:var(--green2)}
textarea{min-height:90px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 18px}
.checks{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.check{display:flex;align-items:center;gap:10px;border:2px solid #a9b5b0;border-radius:10px;padding:11px 16px;font-size:1.08rem;font-weight:600;cursor:pointer;background:#fff;margin:0;min-height:52px}
.check input{width:24px;height:24px;margin:0;accent-color:var(--green)}
.check.on{border-color:var(--green);background:#e9f3ee}
.check small{font-weight:400;color:var(--muted)}
.check.full{border-color:#b8860b;background:#fff8e1}
.check.full.on{background:#ffefb5;border-color:#b8860b}
.price-box{background:#eef4f1;border-radius:10px;padding:14px 18px;margin-top:14px;font-size:1.1rem}
.price-box b{font-size:1.5rem;color:var(--green)}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.badge{display:inline-block;padding:3px 12px;border-radius:99px;font-size:.9rem;font-weight:700}
.badge.ok{background:#dff1e7;color:#14532d}
.badge.cancel{background:#fde2e0;color:var(--red)}
table.kv{width:100%;border-collapse:collapse}
table.kv th,table.kv td{border:1px solid var(--line);padding:11px 14px;text-align:left;font-size:1.03rem}
table.kv th{background:#f0f4f2;width:170px;font-weight:700}
table.list{width:100%;border-collapse:collapse}
table.list th,table.list td{border-bottom:1px solid var(--line);padding:11px 10px;text-align:left}
table.list th{background:#f0f4f2}
.muted{color:var(--muted)}
.hist{border-left:3px solid #b7c4be;margin-left:6px;padding-left:18px}
.hist .h{margin-bottom:16px}
.hist .h .t{font-weight:700}
.hist .h .m{color:var(--muted);font-size:.92rem}
.hist .h pre{margin:4px 0 0;white-space:pre-wrap;font-family:inherit;background:#f6f8f7;border-radius:8px;padding:8px 12px;font-size:.98rem}
.hist .reason{background:var(--amber);border-radius:8px;padding:4px 10px;display:inline-block;margin-top:4px}
/* calendar */
.cal-layout{display:grid;grid-template-columns:1fr 360px;gap:18px;align-items:start}
.cal-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.cal-head h1{margin:0}
.cal{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);background:#fff}
.cal .dow{background:var(--green);color:#fff;text-align:center;padding:8px;font-weight:700;border-right:1px solid var(--line)}
.cal .dow.sun{background:#8a2c2c}.cal .dow.sat{background:#1f4f8a}
.cal .day{min-height:118px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:5px;display:block;color:var(--text);position:relative}
.cal .day:hover{background:#f1f8f4}
.cal .day.other{background:#f7f8f8;color:#a0aaa6}
.cal .day.today{background:#fffbe8}
.cal .day.sel{outline:3px solid var(--green2);outline-offset:-3px;background:#eaf5ef}
.cal .num{font-weight:700;font-size:1.02rem}
.cal .sun .num,.cal .day.sun .num{color:#b42318}.cal .day.sat .num{color:#1f5fa8}
.chip{display:block;font-size:.84rem;line-height:1.25;background:#dff0e7;border-left:4px solid var(--green2);border-radius:4px;padding:2px 5px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}
.chip.full{background:#fff0c2;border-left-color:#b8860b}
.chip.cx{background:#eee;border-left-color:#999;text-decoration:line-through;color:#777}
.more{font-size:.82rem;color:var(--muted);margin-top:2px}
.cnt{position:absolute;right:6px;top:4px;font-size:.78rem;background:var(--green);color:#fff;border-radius:99px;padding:0 7px}
.daycard{border:1px solid var(--line);border-left:6px solid var(--green2);border-radius:10px;padding:12px 14px;margin-bottom:10px;background:#fff;display:block;color:var(--text)}
.daycard.full{border-left-color:#b8860b}
.daycard.cx{opacity:.55;border-left-color:#999}
.daycard .tm{font-weight:700;font-size:1.15rem}
.daycard .nm{font-size:1.1rem;font-weight:700}
.legend{font-size:.92rem;color:var(--muted);margin-top:8px}
@media(max-width:1000px){.cal-layout{grid-template-columns:1fr}.grid2,.grid3{grid-template-columns:1fr}.cal .day{min-height:84px}}
/* login */
.login{max-width:480px;margin:40px auto}
.users{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.users label{margin:0;border:2px solid #a9b5b0;border-radius:12px;padding:14px;text-align:center;cursor:pointer;font-size:1.15rem;background:#fff}
.users input{display:none}
.users label:has(input:checked){border-color:var(--green);background:#e9f3ee;color:var(--green)}
.users small{display:block;font-weight:400;color:var(--muted);font-size:.85rem}
.stmt-table input{min-height:42px}
.stmt-table td{padding:5px}
@media print{.nav{display:none}}

/* ---- 변경·발송 이력 타임라인 ---- */
.hcount{font-size:.9rem;background:#e7efeb;color:var(--green);border-radius:99px;padding:2px 10px;margin-left:6px;vertical-align:middle}
.hlegend{display:flex;flex-wrap:wrap;gap:6px;margin:-2px 0 14px}
.hlegend .hb{font-size:.82rem;padding:2px 9px}
.hb{display:inline-block;border-radius:7px;padding:3px 11px;font-weight:700;font-size:.98rem;border:1px solid transparent}
.hb.create{background:#e3f4ea;color:#166534;border-color:#a7d8b9}
.hb.edit{background:#fff1dc;color:#9a4b00;border-color:#f3c98b}
.hb.mail{background:#e4eefc;color:#1f4f9a;border-color:#a9c4ef}
.hb.sms{background:#efe7fb;color:#5b2ea6;border-color:#cbb5ef}
.hb.stmt{background:#e2f5f5;color:#0f6466;border-color:#9fd6d6}
.hb.cancel{background:#fde4e2;color:#b42318;border-color:#f1a9a2}
.hb.restore{background:#eef0f2;color:#384650;border-color:#c5ccd2}
.hb.fail{background:#b42318;color:#fff}
.hb.etc{background:#eef0f2;color:#384650}
.tl{position:relative;padding-left:4px}
.tl-day{font-weight:800;color:var(--green);font-size:1.02rem;margin:16px 0 8px;padding-bottom:4px;border-bottom:2px solid #e2e9e5}
.tl-day:first-child{margin-top:0}
.tl-item{display:flex;gap:12px;margin-bottom:12px}
.tl-dot{flex:0 0 34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;background:#eef0f2;color:#384650}
.k-create .tl-dot{background:#2f7d62;color:#fff}
.k-edit .tl-dot{background:#e08a1e;color:#fff}
.k-mail .tl-dot{background:#2f66c1;color:#fff}
.k-sms .tl-dot{background:#7446c2;color:#fff}
.k-stmt .tl-dot{background:#138486;color:#fff}
.k-cancel .tl-dot,.k-fail .tl-dot{background:#b42318;color:#fff}
.tl-body{flex:1;min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:#fff}
.k-create .tl-body{border-left:4px solid #2f7d62}
.k-edit .tl-body{border-left:4px solid #e08a1e}
.k-mail .tl-body{border-left:4px solid #2f66c1}
.k-sms .tl-body{border-left:4px solid #7446c2}
.k-stmt .tl-body{border-left:4px solid #138486}
.k-cancel .tl-body,.k-fail .tl-body{border-left:4px solid #b42318;background:#fff8f7}
.tl-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tl-time{font-size:1.15rem;font-weight:800;color:var(--text)}
.tl-who{color:var(--muted);font-size:.95rem;margin-left:auto}
.tl-reason{margin-top:8px;background:var(--amber);border-radius:8px;padding:6px 10px}
.tl-reason b{color:#8a6100;margin-right:6px}
.tl-text{margin-top:6px;color:#333}
table.chg,table.kv2{border-collapse:collapse;margin-top:8px;width:100%}
table.chg th,table.kv2 th{text-align:left;color:var(--muted);font-weight:600;padding:5px 12px 5px 0;white-space:nowrap;width:1%;vertical-align:top}
table.chg td,table.kv2 td{padding:5px 0;vertical-align:top}
table.chg tr+tr,table.kv2 tr+tr{border-top:1px dashed #e1e6e3}
table.chg .old{color:#a33;text-decoration:line-through;text-decoration-color:#d99}
table.chg .arrow{color:var(--muted);padding:5px 10px;width:1%}
table.chg .new{color:#14532d;font-weight:800;background:#e9f6ee;border-radius:5px;padding:5px 8px}

/* ---- 진행 단계 (문의·접수·확정) ---- */
.badge.inq{background:#fff3cf;color:#8a5a00;border:1px solid #ecd28a}
.badge.rcv{background:#e4eefc;color:#1f4f9a;border:1px solid #a9c4ef}
.navcnt{background:#fff;color:var(--green);border-radius:99px;padding:0 8px;font-size:.85rem;font-weight:800;margin-left:4px}
.navwarn{background:#d92d20;color:#fff;border-radius:99px;padding:0 8px;font-size:.85rem;font-weight:800;margin-left:4px}
.stagepick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.stagepick label{margin:0;border:2px solid #b9c4bf;border-radius:12px;padding:12px 14px;cursor:pointer;background:#fff;display:flex;flex-direction:column;gap:2px}
.stagepick input{display:none}
.stagepick b{font-size:1.2rem}
.stagepick small{font-weight:400;color:var(--muted);font-size:.88rem}
.stagepick label.sp-inq.on{border-color:#d4a017;background:#fff6d8}
.stagepick label.sp-rcv.on{border-color:#2f66c1;background:#eaf1fd}
.stagepick label.sp-ok.on{border-color:var(--green2);background:#e6f4ec}
.stagepick label.on b::before{content:'✔ '}
@media(max-width:700px){.stagepick{grid-template-columns:1fr}}
.stepcard{padding:16px 18px}
.stepper{display:flex;align-items:center;justify-content:center;gap:0}
.step{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:80px}
.snum{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;background:#e6eae8;color:#8a9590;border:2px solid #d0d7d3}
.sname{font-weight:700;color:#8a9590}
.step.done .snum{background:#cfe8da;color:#14532d;border-color:#9fd1b3}
.step.done .sname{color:#14532d}
.step.cur .snum{color:#fff;transform:scale(1.12)}
.step.cur .sname{font-size:1.1rem}
.step.cur.inq .snum{background:#d4a017;border-color:#d4a017}.step.cur.inq .sname{color:#8a5a00}
.step.cur.rcv .snum{background:#2f66c1;border-color:#2f66c1}.step.cur.rcv .sname{color:#1f4f9a}
.step.cur.ok .snum{background:var(--green2);border-color:var(--green2)}.step.cur.ok .sname{color:var(--green)}
.step.cur.cancel .snum{background:#b42318;border-color:#b42318}.step.cur.cancel .sname{color:#b42318}
.sline{flex:0 0 70px;height:4px;background:#dfe5e2;margin-bottom:24px;border-radius:2px}
.sline.done{background:#7cc29b}
.stagebtns{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:14px;align-items:center}
/* 달력 칩 단계별 */
.chip.st-rcv{background:#eaf1fd;border-left-color:#2f66c1}
.chip.st-inq{background:#fff;border:1px dashed #d4a017;border-left:4px solid #d4a017;color:#6b4e00}
.chip .tag{font-size:.75rem;margin-right:3px}
.chip.st-rcv .tag{color:#1f4f9a}.chip.st-inq .tag{color:#8a5a00}
.daycard.st-rcv{border-left-color:#2f66c1;background:#f7faff}
.daycard.st-inq{border-left-color:#d4a017;border-style:dashed;border-left-style:solid;background:#fffdf5}
/* 문의·접수 목록 */
.pipe{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
@media(max-width:900px){.pipe{grid-template-columns:1fr}}
.pcol{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}
.phead{display:flex;justify-content:space-between;align-items:center;font-size:1.2rem;font-weight:800;border-radius:9px;padding:10px 14px}
.phead.inq{background:#fff3cf;color:#8a5a00}
.phead.rcv{background:#e4eefc;color:#1f4f9a}
.phead .pc{font-size:1rem;background:#fff;border-radius:99px;padding:1px 10px}
.pcard{display:block;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:11px 14px;margin-bottom:10px;background:#fff}
.pcard:hover{background:#f6faf8}
.pcard.warn{border:2px solid #e8a39c;background:#fff8f7}
.pwarn{color:#b42318;font-weight:800;margin-bottom:4px}
.prow{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pname{font-size:1.15rem;font-weight:800}
.dday{font-weight:800;border-radius:7px;padding:1px 9px;background:#eef2f0;color:#384650}
.dday.near{background:#fff1dc;color:#9a4b00}
.dday.past{background:#b42318;color:#fff}
.pinfo{margin-top:3px}
.pfoot{margin-top:6px;font-size:.88rem;color:var(--muted);border-top:1px dashed #e1e6e3;padding-top:5px}
/* 이력: 단계 변경 */
.hb.stage{background:#e8e6fb;color:#3d33a3;border-color:#c3bdf0}
.k-stage .tl-dot{background:#4f46c8;color:#fff}
.k-stage .tl-body{border-left:4px solid #4f46c8}

/* ---- 달력 오른쪽 예약 카드: 마우스 올렸을 때 강조 ---- */
.daycard{position:relative;cursor:pointer;transition:background .12s,box-shadow .12s,transform .12s,border-color .12s}
.daycard .go{position:absolute;right:12px;bottom:10px;font-size:.9rem;font-weight:700;color:var(--green);opacity:0;transition:opacity .12s}
.daycard:hover,.daycard:focus-visible{background:#e3f1ea !important;border-color:var(--green2);box-shadow:0 4px 14px rgba(32,77,65,.22),0 0 0 2px var(--green2);transform:translateX(-3px)}
.daycard:hover .go,.daycard:focus-visible .go{opacity:1}
.daycard.st-rcv:hover{background:#dde9fb !important;box-shadow:0 4px 14px rgba(47,102,193,.22),0 0 0 2px #2f66c1}
.daycard.st-rcv:hover .go{color:#1f4f9a}
.daycard.st-inq:hover{background:#fff3cf !important;box-shadow:0 4px 14px rgba(212,160,23,.25),0 0 0 2px #d4a017}
.daycard.st-inq:hover .go{color:#8a5a00}
.daycard:active{transform:translateX(-3px) scale(.99)}

/* ---- 달력 단계 구분 강화 (확정=진한 초록 / 접수=파랑 / 문의=노랑 점선) ---- */
.cal .chip{border:0;border-left:0;border-radius:6px;padding:3px 6px;font-weight:600;font-size:.84rem}
.cal .chip .tag{display:inline-block;border-radius:4px;padding:0 4px;margin-right:4px;font-size:.74rem;font-weight:800}
.cal .chip.st-ok{background:#1f6b4f;color:#fff}
.cal .chip.st-ok .tag{background:#fff;color:#1f6b4f}
.cal .chip.st-rcv{background:#d7e6fb;color:#123d7a;border:2px solid #2f66c1;padding:1px 4px}
.cal .chip.st-rcv .tag{background:#2f66c1;color:#fff}
.cal .chip.st-inq{background:#fffbea;color:#6b4e00;border:2px dashed #d4a017;padding:1px 4px}
.cal .chip.st-inq .tag{background:#f5c542;color:#4a3500}
.legend2{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px;font-size:.95rem}
.legend2 .chip{display:inline-block;margin:0;font-size:.92rem;padding:5px 10px;border-radius:7px;font-weight:600}
.legend2 .chip .tag{display:inline-block;border-radius:4px;padding:0 5px;margin-right:6px;font-weight:800}
.legend2 .chip.st-ok{background:#1f6b4f;color:#fff;border:0}.legend2 .chip.st-ok .tag{background:#fff;color:#1f6b4f}
.legend2 .chip.st-rcv{background:#d7e6fb;color:#123d7a;border:2px solid #2f66c1}.legend2 .chip.st-rcv .tag{background:#2f66c1;color:#fff}
.legend2 .chip.st-inq{background:#fffbea;color:#6b4e00;border:2px dashed #d4a017}.legend2 .chip.st-inq .tag{background:#f5c542;color:#4a3500}
/* 오른쪽 카드 상단 띠 */
.daycard{padding-top:0;overflow:hidden}
.dc-band{margin:0 -14px 8px -14px;padding:4px 14px;font-weight:800;font-size:.92rem;letter-spacing:.02em}
.daycard.st-ok{border-left-color:#1f6b4f}
.daycard.st-ok .dc-band{background:#1f6b4f;color:#fff}
.daycard.st-rcv{border:2px solid #2f66c1;border-left:6px solid #2f66c1}
.daycard.st-rcv .dc-band{background:#2f66c1;color:#fff}
.daycard.st-inq{border:2px dashed #d4a017;border-left:6px solid #d4a017}
.daycard.st-inq .dc-band{background:#f5c542;color:#4a3500}
.daycard.cx .dc-band{background:#999;color:#fff}
.daycard .go{bottom:8px}

.cal{grid-template-columns:repeat(7,minmax(0,1fr))}
.cal .day{min-width:0}
.cal .chip{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3;word-break:keep-all}
.cal .chip .tag{padding:0 3px;margin-right:3px}

/* ---- 체험 종류 표시 (누룩딛기 / 빚기 / 거르기 / 풀체험) ---- */
.pgs{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}
.pg{font-style:normal;font-weight:800;font-size:.76rem;border-radius:4px;padding:1px 5px;line-height:1.35;border:1px solid transparent}
.pg.p-nuruk{background:#8b5a2b;color:#fff}
.pg.p-brew{background:#e9e4d4;color:#3d3420;border-color:#bfb393}
.pg.p-filter{background:#2b6f9e;color:#fff}
.pg.full{background:#e0a800;color:#2b2100}
.pg.none{background:#eee;color:#777}
.cal .chip.st-ok .pg.p-brew{background:#f3efe2}
.pgs.big{gap:6px;margin:4px 0}
.pgs.big .pg{font-size:.95rem;padding:2px 9px;border-radius:6px}

/* ---- 거래명세서 품목 (PC: 한 줄 / 폰: 카드) ---- */
.stmt-sum{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;padding:12px 18px}
.stmt-sum b{font-size:1.15rem}
.lrow{display:grid;grid-template-columns:1fr 80px 140px 120px auto;gap:8px;align-items:end;padding:8px 0;border-bottom:1px dashed #dfe5e2}
.lrow .lab{display:block;font-size:.85rem;color:var(--muted);font-weight:600;margin-bottom:2px}
.lrow input{min-height:46px}
.lamt b{display:block;min-height:46px;line-height:46px;text-align:right;font-size:1.05rem}
.ldel{min-height:46px}
.lrow+.lrow .lab{display:none}
@media(max-width:700px){
  .lrow{grid-template-columns:1fr 1fr;background:#f7f9f8;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:10px}
  .lrow .lab,.lrow+.lrow .lab{display:block}
  .lname{grid-column:1/-1}
  .lamt b{text-align:left;line-height:normal;min-height:0;padding-top:6px;font-size:1.15rem;color:var(--green)}
  .ldel{min-height:40px;align-self:center}
  .stmt-actions .btn{width:100%}
  .sendbtn{font-size:1.2rem;min-height:56px}
  /* 폰 화면 상단 메뉴 간단하게 */
  .nav{padding:6px 10px;gap:2px}
  .nav .brand{font-size:1rem;margin-right:4px}
  .nav form.s{display:none}
  .nav a{padding:8px 10px}
  .wrap{padding:12px}
  h1{font-size:1.35rem}
}

/* ---- 시작 시간 선택 버튼 ---- */
.tslots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;margin-top:4px}
.ts{min-height:48px;border:2px solid #b9c4bf;border-radius:9px;background:#fff;font-size:1.05rem;font-weight:700;color:var(--text);cursor:pointer;font-family:inherit;line-height:1.1}
.ts small{display:block;font-size:.72rem;font-weight:600;color:var(--muted)}
.ts:hover{border-color:var(--green2);background:#f1f8f4}
.ts.on{background:var(--green);border-color:var(--green);color:#fff}
.ts.on small{color:#cfe8da}
.ts.none{color:var(--muted)}
.ts.custom{border-style:dashed}
.ts.custom.on{background:#9a4b00;border-color:#9a4b00}
.tcustom{align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}
.tcustom input{max-width:200px;font-size:1.15rem}
.ts.custom{white-space:nowrap;font-size:.98rem}
