:root{--paper:#f7f5f1;--card:#fff;--ink:#2b2925;--ink-soft:#6f6a61;--line:#e4dfd6;--pine:#2f5d50;--pine-deep:#23483e;--pine-tint:#e9f1ee;--amber:#b8862b;--error:#b23a2f}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Yu Gothic,Meiryo,sans-serif;font-size:16px;line-height:1.7}.page{max-width:520px;margin:0 auto;padding:20px 16px 48px}.head{padding:8px 4px 16px}.brand{letter-spacing:.12em;color:var(--pine);border-left:3px solid var(--amber);margin:0 0 12px;padding-left:8px;font-size:12px;font-weight:600}.title{margin:0 0 8px;font-size:20px;font-weight:700;line-height:1.5}.desc{color:var(--ink-soft);margin:0;font-size:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:14px;padding:16px}.step-label{color:var(--pine);letter-spacing:.04em;margin:0 0 12px;font-size:13px;font-weight:700}.seg{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;display:grid}.seg-btn{border:1.5px solid var(--line);background:var(--card);color:var(--ink-soft);cursor:pointer;border-radius:10px;padding:12px 8px;font-family:inherit;font-size:15px}.seg-btn.active{border-color:var(--pine);background:var(--pine-tint);color:var(--pine-deep);font-weight:700}.field{margin-top:4px}.field-label{color:var(--ink-soft);margin:0 0 8px;font-size:13px;display:block}.select{border:1.5px solid var(--line);background:var(--card);width:100%;color:var(--ink);border-radius:10px;padding:12px;font-family:inherit;font-size:16px}.select:focus{outline:2px solid var(--pine);outline-offset:1px}.weekday-row{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.wd-btn{aspect-ratio:1;border:1.5px solid var(--line);background:var(--card);min-width:0;color:var(--ink-soft);cursor:pointer;border-radius:50%;font-family:inherit;font-size:15px}.wd-btn.active{border-color:var(--pine);background:var(--pine);color:#fff;font-weight:700}.slot-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.slot-btn{border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:10px;padding:13px 8px;font-family:inherit;font-size:15px;position:relative}.slot-btn.active{border-color:var(--pine);background:var(--pine-tint);color:var(--pine-deep);font-weight:700}.slot-btn.active:before{content:"✓ ";color:var(--pine)}.textarea{border:1.5px solid var(--line);resize:vertical;width:100%;color:var(--ink);border-radius:10px;padding:12px;font-family:inherit;font-size:16px}.textarea:focus{outline:2px solid var(--pine);outline-offset:1px}.submit-btn{color:#fff;background:var(--pine);cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:6px;padding:16px;font-family:inherit;font-size:17px;font-weight:700;display:block}.submit-btn:active{background:var(--pine-deep)}.submit-btn:disabled{opacity:.6;cursor:default}.submit-btn:focus-visible,.seg-btn:focus-visible,.wd-btn:focus-visible,.slot-btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.form-error{color:var(--error);margin:4px 2px 10px;font-size:14px;font-weight:600}.foot-note{color:var(--ink-soft);text-align:center;margin-top:16px;font-size:12px}.center-msg{text-align:center;color:var(--ink-soft);padding:48px 0}.card.done{text-align:center;padding:36px 20px}.done-mark{background:var(--pine-tint);width:56px;height:56px;color:var(--pine);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;font-size:28px;font-weight:700;display:flex}.page-wide{max-width:720px}.input{border:1.5px solid var(--line);width:100%;color:var(--ink);background:var(--card);border-radius:10px;padding:12px;font-family:inherit;font-size:16px}.input:focus{outline:2px solid var(--pine);outline-offset:1px}.field+.field{margin-top:12px}.staff-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.staff-info{align-items:center;gap:10px;padding-top:4px;display:flex}.staff-name{font-size:14px;font-weight:700}.text-btn{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:4px;font-family:inherit;font-size:13px;text-decoration:underline}.issue-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}@media (width<=560px){.issue-grid{grid-template-columns:1fr}.issue-grid .field+.field{margin-top:0}}.issued-box{background:var(--pine-tint);border:1px solid var(--pine);border-radius:10px;margin-top:14px;padding:12px}.issued-url{word-break:break-all;color:var(--pine-deep);margin:0 0 10px;font-size:14px;font-weight:600}.issued-actions{flex-wrap:wrap;gap:8px;display:flex}.mini-btn{border:1.5px solid var(--pine);background:var(--card);color:var(--pine-deep);cursor:pointer;border-radius:8px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600}.mini-btn:active{background:var(--pine-tint)}.list-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.filter-row{flex-wrap:wrap;gap:6px;display:flex}.filter-btn{border:1.5px solid var(--line);background:var(--card);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:6px 12px;font-family:inherit;font-size:13px}.filter-btn.active{border-color:var(--pine);background:var(--pine);color:#fff;font-weight:700}.token-list{margin:8px 0 0;padding:0;list-style:none}.token-item{border-top:1px solid var(--line);padding:14px 2px}.token-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.badge-pending{color:var(--amber);background:#f3ede0}.badge-answered{background:var(--pine-tint);color:var(--pine-deep)}.badge-closed{color:var(--ink-soft);background:#ececec}.token-label{font-size:15px;font-weight:700}.token-date{color:var(--ink-soft);margin-left:auto;font-size:12px}.token-memo{color:var(--ink-soft);margin:6px 0 0;font-size:13px}.token-answer{color:var(--pine-deep);background:var(--pine-tint);border-radius:8px;margin:8px 0 0;padding:8px 10px;font-size:14px;font-weight:600}.token-note{color:var(--ink-soft);font-weight:400}.token-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.mini-btn:focus-visible,.filter-btn:focus-visible,.text-btn:focus-visible,.input:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.confirm-box{background:var(--pine-tint);border:1px solid var(--pine);border-radius:10px;padding:14px 16px}.confirm-when{color:var(--pine-deep);margin:0;font-size:17px;font-weight:700}.confirm-slots{color:var(--pine-deep);margin:4px 0 0;font-size:15px;font-weight:600}.confirm-note{color:var(--ink-soft);margin:8px 0 0;font-size:13px}.submit-btn.outline{background:var(--card);color:var(--pine-deep);border:1.5px solid var(--pine)}.submit-btn.outline:active{background:var(--pine-tint)}.deal-badge{color:#fff;border-radius:6px;padding:3px 9px;font-size:12px;font-weight:700}.deal-sell{background:#a35b2c}.deal-buy{background:#3a6ea5}.intent-list{flex-direction:column;gap:8px;display:flex}.intent-btn{text-align:left;border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:10px;padding:14px 12px;font-family:inherit;font-size:15px}.intent-btn.active{border-color:var(--pine);background:var(--pine-tint);color:var(--pine-deep);font-weight:700}.intent-btn.active:before{content:"✓ ";color:var(--pine)}.date-grid{grid-template-columns:repeat(4,1fr);gap:6px;max-height:280px;padding:2px;display:grid;overflow-y:auto}.date-btn{border:1.5px solid var(--line);background:var(--card);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:1px;padding:8px 2px;font-family:inherit;display:flex}.date-btn-day{color:var(--ink);font-size:14px;font-weight:600}.date-btn-wd{color:var(--ink-soft);font-size:11px}.date-btn-wd.wd-0{color:#c0392b}.date-btn-wd.wd-6{color:#2e6da4}.date-btn.active{border-color:var(--pine);background:var(--pine)}.date-btn.active .date-btn-day,.date-btn.active .date-btn-wd{color:#fff}.contact-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.contact-btn{border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:999px;padding:10px 16px;font-family:inherit;font-size:14px}.contact-btn.active{border-color:var(--pine);background:var(--pine);color:#fff;font-weight:700}.contact-note{color:var(--pine-deep);margin:10px 2px 0;font-size:13px;font-weight:600}.staff-badge{color:#3a5068;background:#eef1f5;border-radius:6px;padding:3px 9px;font-size:12px;font-weight:600}.staff-filter{border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:6px 10px;font-family:inherit;font-size:13px}.elapsed{color:var(--amber);margin-left:2px;font-weight:700}.intent-btn:focus-visible,.date-btn:focus-visible,.contact-btn:focus-visible,.staff-filter:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.per-date-toggle{border:1.5px dashed var(--line);background:var(--card);width:100%;color:var(--ink-soft);cursor:pointer;border-radius:10px;margin-top:10px;padding:11px 12px;font-family:inherit;font-size:14px;font-weight:600;display:block}.per-date-toggle.active{border-style:solid;border-color:var(--pine);background:var(--pine-tint);color:var(--pine-deep)}.per-date-block{margin-bottom:14px}.per-date-block:last-child{margin-bottom:0}.per-date-title{color:var(--pine-deep);border-left:3px solid var(--pine);margin:0 0 8px;padding-left:8px;font-size:14px;font-weight:700}.per-date-toggle:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.seg-3{grid-template-columns:1fr 1fr 1fr}@media (width<=560px){.seg-3{grid-template-columns:1fr}}.deal-other{background:#6b6b6b}.preset-row{flex-wrap:wrap;gap:6px;display:flex}.preset-btn{border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:999px;padding:8px 14px;font-family:inherit;font-size:13px}.preset-btn.active{border-color:var(--pine);background:var(--pine);color:#fff;font-weight:700}.preset-badge{background:var(--pine-tint);color:var(--pine-deep);border-radius:6px;padding:3px 9px;font-size:12px;font-weight:600}.preset-intent-note{color:var(--pine-deep);margin:-6px 2px 14px;font-size:14px;font-weight:700}.preset-btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
