:root{--ink:#253d32;--green:#32664a;--soft:#edf3ed;--line:#dbe4da;--cream:#f8f8f3}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,"Noto Sans KR",sans-serif;line-height:1.65}a{color:var(--green)}button,input,select,textarea{font:inherit}button,.button,.file-button{border:1px solid var(--line);background:white;border-radius:10px;padding:10px 15px;cursor:pointer;color:var(--ink);text-decoration:none;display:inline-block;text-align:center}button:hover,.button:hover{border-color:var(--green);background:var(--soft)}button:disabled{opacity:.55;cursor:wait}.primary{color:#fff;background:var(--green);border-color:var(--green)}button.primary:hover{background:#264d39;color:white}.danger{color:#a23a3a}input,select,textarea{border:1px solid #c7d3c7;border-radius:8px;padding:10px;background:#fff;color:#213a2d;width:100%;min-width:0}input[type=checkbox]{width:20px;height:20px;accent-color:var(--green)}label{display:block;font-size:.88rem;font-weight:600}label input,label select,label textarea{display:block;margin-top:5px}input[readonly]{font-size:.82rem;background:var(--cream)}:focus-visible{outline:3px solid #a4bd8e;outline-offset:3px}.tool-header{height:76px;background:#fff;border-bottom:1px solid var(--line);display:grid;grid-template-columns:70px 1fr 70px;align-items:center;padding:0 24px;position:sticky;top:0;z-index:5}.brand{text-align:center;font-size:1.3rem;font-weight:800;text-decoration:none}.header-back{text-align:right;font-size:.85rem}.tool-header details{position:relative}.tool-header summary{cursor:pointer;font-size:1.5rem;list-style:none}.tool-header nav{position:absolute;top:42px;left:-10px;background:white;padding:15px;width:230px;box-shadow:0 10px 30px #233c3220;border:1px solid var(--line);border-radius:10px}.tool-header nav a{display:block;padding:10px;text-decoration:none}main{width:min(1060px,100%);margin:auto;padding:30px 24px 70px}.intro{padding:35px 0 30px}.intro h1{font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.35;letter-spacing:-.04em;margin:12px 0 16px}.intro p{color:#657267}.eyebrow{color:#65826a;font-size:.72rem;letter-spacing:.15em;font-weight:800}.tool-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.tool-tabs a{border-radius:24px;padding:9px 15px;background:#e8efe4;color:var(--green);text-decoration:none;font-size:.88rem;font-weight:700}.tool-card{background:white;border:1px solid var(--line);border-radius:20px;padding:28px;margin:24px 0;scroll-margin-top:100px;box-shadow:0 4px 20px #253d3204}.tool-card h2{margin:8px 0 12px;font-size:1.55rem;letter-spacing:-.035em}.tool-card p{font-size:.9rem;color:#596b5e}.storage-note{background:#edf1e7;border:1px solid #d9e2cf;border-radius:16px;padding:22px}.storage-note p,.small{font-size:.82rem}details summary{cursor:pointer;font-weight:700;padding:12px 0}details p{font-size:.84rem}.actions{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:14px 0}.actions label{min-width:150px}.actions select{width:auto}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0;padding:18px;background:var(--cream);border-radius:12px;align-items:end}.wide{grid-column:span 2}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.badge{border:1px solid var(--line);border-radius:20px;background:var(--soft);padding:7px 13px;white-space:nowrap;font-size:.85rem}.summary{background:var(--soft);padding:12px;border-radius:8px}.row{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:start;padding:16px 0;border-bottom:1px solid var(--line)}.row .row-text{min-width:0;overflow-wrap:anywhere}.row strong{display:block}.row small{display:block;color:#708074}.row .actions{margin:0}.row button{font-size:.8rem;padding:7px 10px}.done strong{text-decoration:line-through;color:#718274}.totals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{background:var(--soft);padding:15px;border-radius:12px;font-size:.85rem}.metric strong{display:block;font-size:1.2rem;color:var(--green)}.event-grid,.message-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.event,.message{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fbfcf8;overflow-wrap:anywhere}.event strong{display:block;font-size:1.7rem;color:var(--green)}.message p{white-space:pre-wrap}.message .pending{color:#a16b19}.empty{padding:25px;text-align:center;color:#708074}.qr{margin:20px auto;max-width:280px}.qr svg{width:100%;height:auto;display:block}.file-button{font-size:1rem;font-weight:400;position:relative}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.consent{display:flex;align-items:center;gap:10px;margin:15px 0}.consent input{margin:0;flex:none}#notice:not(:empty){position:sticky;top:85px;background:#fff9d9;border:1px solid #e4d99d;border-radius:10px;padding:12px;z-index:4;font-size:.9rem}#message-form{max-width:700px;margin:auto auto 30px}#message-form label{margin-top:12px}footer{border-top:1px solid var(--line);padding:22px;text-align:center;color:#657267;font-size:.8rem}footer a{display:inline-block;margin-left:15px}#print-area{display:none}[hidden]{display:none!important}
@media(max-width:700px){main{padding:20px 14px 50px}.tool-header{height:64px;padding:0 16px;grid-template-columns:45px 1fr 45px}.brand{font-size:1.1rem}.tool-card{padding:19px 16px;border-radius:16px}.intro{padding:25px 4px 20px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:10px}.form-grid button{grid-column:span 2}.event-grid,.message-grid{grid-template-columns:1fr}.totals{gap:6px}.metric{padding:10px;font-size:.75rem}.metric strong{font-size:1rem}.row{grid-template-columns:26px 1fr}.row>.actions{grid-column:2;justify-self:start}.tool-tabs{gap:7px}.tool-tabs a{font-size:.8rem;padding:8px 12px}.storage-note{padding:16px}.actions button,.actions .button{font-size:.82rem}.section-heading{align-items:start}.badge{font-size:.75rem}#notice:not(:empty){top:72px}}
@media print{body{background:white;color:black}.tool-header,main>*:not(#print-area),footer{display:none!important}main{width:100%;padding:0}#print-area{display:block;font-size:10pt}#print-area table{width:100%;border-collapse:collapse}#print-area th,#print-area td{border:1px solid #999;padding:6px;text-align:left;overflow-wrap:anywhere}#print-area tr{break-inside:avoid}#print-area h1{font-size:20pt}#print-area p{white-space:pre-wrap}a{color:black}@page{size:A4;margin:15mm}}
