:root{--navy:#1b2a4a;--navy-mid:#2a3f6e;--gold:#e8b64c;--bg:#f6f4ef;--text:#22293b;--muted:#7a8199;--card:#fff;--error:#c0392b;--success:#1f8a54;font-family:-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.page{flex-direction:column;gap:16px;max-width:480px;margin:0 auto;padding:24px 20px 48px;display:flex}h1{color:var(--navy);font-size:24px;font-weight:800}h2{color:var(--navy);font-size:16px;font-weight:700}.hint{color:var(--muted);font-size:14px;line-height:1.6}.card{background:var(--card);border-radius:20px;flex-direction:column;gap:14px;padding:20px;display:flex;box-shadow:0 4px 20px #1b2a4a14}.success-card{text-align:center;align-items:center;padding:32px 20px}.error-card{text-align:center;align-items:center;line-height:1.7}.notice-dismissable{padding-right:40px;position:relative}.notice-close{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:6px;font-size:16px;line-height:1;position:absolute;top:8px;right:8px}.big-emoji{font-size:56px;line-height:1}.day-highlight{font-size:18px}.day-highlight strong{color:var(--gold);font-size:24px}.field{color:var(--navy);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.field input,.field select{color:var(--text);background:#fbfaf7;border:1.5px solid #e2e0d8;border-radius:12px;padding:13px 14px;font-size:16px}.field input:focus,.field select:focus{outline:2px solid var(--gold);border-color:#0000}.field-error{color:var(--error);font-size:13px}.primary-btn{background:linear-gradient(135deg, var(--navy), var(--navy-mid));color:#fff;cursor:pointer;border:none;border-radius:14px;padding:15px;font-size:16px;font-weight:800}.primary-btn:active{opacity:.85}.link-btn{color:var(--navy-mid);cursor:pointer;background:0 0;border:none;padding:10px;font-size:14px;font-weight:700}.member-list{flex-direction:column;gap:10px;display:flex}.member-btn{background:var(--card);cursor:pointer;border:none;border-radius:16px;justify-content:space-between;align-items:center;padding:18px;font-size:18px;display:flex;box-shadow:0 3px 14px #1b2a4a14}.member-name{color:var(--navy);font-weight:800}.member-dept{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.badge-done{color:var(--success);background:#e4f5ec;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800}.chip{background:var(--card);color:var(--navy);cursor:pointer;border:1.5px solid #e2e0d8;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:700}.chip-active{background:var(--navy);color:#fff;border-color:var(--navy)}.wrap{flex-wrap:wrap}.notice-card{color:var(--muted);font-size:14px;line-height:1.7}.danger{color:var(--error)}.queue-badge{border:1.5px solid var(--gold);color:#8a6a1f;background:#fff6e3;border-radius:12px;padding:10px 14px;font-size:13px;font-weight:700}.queued-card{text-align:center;align-items:center;padding:32px 20px}.queue-count{color:var(--navy);font-size:14px;font-weight:800}.primary-btn:disabled,.member-btn:disabled,.link-btn:disabled{opacity:.55;cursor:default}.board-title{text-align:center;margin-top:8px}.stamp-board{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.stamp-cell{aspect-ratio:1;color:var(--muted);background:#ece9e0;border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.stamp-cell.stamped{background:#fff3d6;font-size:22px}.stamp-cell.today{outline:3px solid var(--gold)}.admin{max-width:640px}.row{gap:12px;display:flex}.row .field{flex:1}.space-between{justify-content:space-between;align-items:center}.summary-table{border-collapse:collapse;width:100%;font-size:14px}.summary-table th,.summary-table td{text-align:left;border-bottom:1px solid #eee;padding:10px 8px}.summary-table th{color:var(--muted);font-size:12px}.qr-print-area{text-align:center;align-items:center}.qr-img{width:100%;max-width:320px}.qr-url{color:var(--muted);word-break:break-all;font-size:11px}@media print{.no-print{display:none!important}body{background:#fff}.qr-print-area{box-shadow:none}.qr-img{max-width:90%}}
