:root{color-scheme:light;--paper:#f5f4f0;--ink:#253d39;--muted:#6e7b76;--line:#e2e6df;--green:#205d49;--accent:#dfeae1;--white:#fff;--warning:#855b1f}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #bf9852;outline-offset:4px}header{height:90px;background:var(--white);border-bottom:1px solid var(--line);padding:0 max(5vw,20px);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:15px}.brand>b{font-family:Georgia,serif;font-size:47px;font-weight:400;line-height:1}.brand>span{font-size:20px;letter-spacing:.035em}.brand small{font-size:12px;display:block;letter-spacing:.14em;color:var(--muted)}.header-right{display:flex;align-items:center;gap:24px}.environment{font-size:12px;border:1px solid #d4dcd5;border-radius:30px;padding:4px 13px;white-space:nowrap}.text-button{border:0;background:none;color:var(--muted);cursor:pointer;padding:8px;font-size:12px}main{max-width:1250px;margin:auto;padding:46px 32px 60px;min-height:calc(100vh - 165px)}.eyebrow{font-size:10px;letter-spacing:.2em;color:var(--muted);font-weight:650;margin-bottom:10px}h1{font-size:30px;letter-spacing:.035em;font-weight:600;margin:0 0 7px}h2{font-size:17px;margin:0;font-weight:600}h3{font-size:21px;margin:0;font-weight:600}p{margin:8px 0}.muted{color:var(--muted);font-size:13px}.fine{color:var(--muted);font-size:11px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;border:1px solid var(--green);border-radius:7px;padding:9px 19px;background:var(--green);color:white;font-size:13px;cursor:pointer;white-space:nowrap;font-weight:550}.button:hover{filter:brightness(.96)}.secondary{background:white;border-color:#d4dcd5;color:var(--ink)}.summary{display:grid;grid-template-columns:1fr 1.35fr 1fr;padding:25px 0;background:white;border:1px solid var(--line);border-radius:10px;margin:0 0 18px}.summary>div{padding:0 28px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:4px}.summary>div:last-child{border:0}.summary strong{font-size:34px;font-weight:500;line-height:1.4}.summary strong small{font-size:12px;margin-left:9px;font-weight:400}.summary .last-run{font-size:17px;padding:9px 0 4px}.run-summary{font-size:12px;color:var(--muted);padding-left:2px;margin-bottom:24px}.search{display:flex;gap:10px;margin:30px 0;max-width:530px}input{border:1px solid #d4dcd5;border-radius:6px;background:white;min-height:44px;padding:10px 14px;width:100%;min-width:0;color:var(--ink);font-size:14px}.list-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 17px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s;min-width:0}.card:hover{border-color:#94ad9d;box-shadow:0 7px 22px #253d390a}.card-top{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:22px 22px 0}.badge{display:inline-block;background:var(--accent);color:var(--green);border-radius:4px;padding:3px 9px;font-size:11px;font-weight:600;white-space:nowrap}.customer{padding:20px 22px 0;overflow-wrap:anywhere}.customer p{font-size:11px;margin:4px 0 0;color:var(--muted)}.plan{font-size:12px;padding:15px 22px 0;margin:0;overflow-wrap:anywhere;min-height:56px}.dates{padding:0 22px;margin:18px 0 24px;flex:1}.dates>div{display:grid;grid-template-columns:58px 1fr;gap:12px;padding:11px 0;border-top:1px solid var(--line);font-size:12px}.dates dt{color:var(--muted);font-size:10px;padding-top:2px}.dates dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.dates b{font-weight:550}.dates span{display:block;color:var(--muted);font-size:11px;margin-top:4px}.card-bottom{border-top:1px solid var(--line);padding:15px 22px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px}.card-bottom .muted{font-size:10px}.card-bottom b{white-space:nowrap;font-weight:550}.review{color:var(--warning);font-size:10px}.scope-note{margin-top:28px}.empty{background:white;border:1px dashed #cdd7ce;border-radius:10px;padding:55px 20px;text-align:center}.empty-icon{font-size:32px;color:#789482}.notice{background:#eaf0e9;border:1px solid #dce6dc;border-radius:8px;padding:17px 21px;font-size:13px;margin:0 0 22px}.warning{background:#fbf5e9;border-color:#e9dbbd;color:#73511e}.notice ul{padding-left:20px;font-size:12px;margin:9px 0 0}.notice a{text-decoration:underline}.error{color:#8a3434;background:#fff0ec;border-color:#f2d4cc}.back{color:var(--muted);font-size:12px;display:inline-block;margin-bottom:28px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:10px;min-width:0;overflow:hidden}.panel-title{display:flex;justify-content:space-between;align-items:center;padding:23px 25px;border-bottom:1px solid var(--line)}dl{margin:0}.field{display:grid;grid-template-columns:125px 1fr;gap:16px;padding:17px 25px;border-bottom:1px solid #edf0eb}.field:last-child{border:0}dt{font-size:11px;color:var(--muted)}dd{margin:0;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.missing{color:#9c978d}.mail-meta{background:#fcfcfa}.mail-meta .field{padding:12px 25px;grid-template-columns:95px 1fr;gap:10px}.mail-meta dd{font-size:11px}pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:26px;font:12px/1.95 -apple-system,BlinkMacSystemFont,sans-serif;color:#41564e}.download{display:inline-block;margin:0 25px 24px;font-size:12px;color:var(--green);text-decoration:underline}.subhead{font-size:14px;padding:20px 25px 0}.pagination{display:flex;justify-content:space-between;margin-top:25px;font-size:13px}footer{max-width:1250px;margin:auto;border-top:1px solid var(--line);padding:21px 32px;display:flex;justify-content:space-between;color:#8a938b;font-size:10px;letter-spacing:.03em}.login{max-width:440px;margin:42px auto;background:white;padding:40px;border:1px solid var(--line);border-radius:12px}.login h1{font-size:23px}.login label{display:block;font-size:12px;margin:22px 0}.login input{display:block;margin-top:6px}.login .button{width:100%}.login .fine{margin-top:20px;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1400px){main{padding-top:55px}}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.card-top{padding:18px 18px 0}.card-top .fine{font-size:10px}.detail-grid{grid-template-columns:1fr}.summary>div{padding:0 20px}}@media(max-width:620px){header{height:77px;padding:0 20px}.brand>b{font-size:39px}.brand>span{font-size:17px}.brand small{font-size:10px}.header-right{gap:8px}.environment{font-size:10px;padding:3px 9px}.text-button{font-size:10px;padding:5px}main{padding:30px 18px 40px}h1{font-size:25px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:24px;gap:12px}.summary{grid-template-columns:1fr 1.5fr;padding:20px 0}.summary>div{padding:0 18px}.summary>div:last-child{display:none}.summary>div:nth-child(2){border:0}.summary .muted{font-size:10px}.summary .last-run{font-size:14px}.cards{grid-template-columns:1fr}.card-top{padding:20px 22px 0}.card-top .fine{font-size:11px}.search{margin:24px 0}.panel-title{padding:20px}.field{padding:16px 20px;grid-template-columns:95px 1fr;gap:12px}.mail-meta .field{padding:12px 20px}.panel-title .muted{font-size:11px}pre{padding:20px}.login{margin:15px auto;padding:28px 24px}.login h1{font-size:21px}footer{padding:20px 18px;gap:14px;flex-wrap:wrap}.notice{padding:15px 17px}}

/* Reservation coordination */
select,textarea{font:inherit;color:var(--ink);width:100%;min-width:0;border:1px solid #d4dcd5;border-radius:6px;background:#fff;padding:10px 12px}select{min-height:44px}textarea{resize:vertical;font-size:14px;line-height:1.7}select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #bf9852;outline-offset:3px}button:disabled{opacity:.5;cursor:not-allowed}.panel-body{padding:24px}.coordination{margin-bottom:26px}.coordination-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:18px}.checks-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:18px}.coordination label{display:block;font-size:12px}.coordination label>input,.coordination label>select,.coordination label>textarea{display:block;margin-top:7px}.accepted-inputs{display:grid;grid-template-columns:1.2fr 1fr;gap:14px}.requested-dates{background:#f5f7f2;border-radius:7px;margin-bottom:22px}.requested-dates .field{padding:12px 18px;grid-template-columns:125px 1fr}.deadline-value{display:flex;flex-direction:column;gap:12px}.deadline-value strong{font-size:17px;font-weight:550}.note-label{margin-top:20px}.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0 10px}.mail-draft{margin-top:26px;border-top:1px solid var(--line);padding-top:20px}.mail-draft .panel-title{padding:0 0 12px;border:0;gap:12px;flex-wrap:wrap}.mail-draft h3{font-size:15px}.mail-draft textarea{background:#fcfcfa;font-size:13px}.status-scheduling{background:#e8edf5;color:#435b7d}.status-awaiting_customer{background:#fff0cf;color:#805719}.status-confirmed{background:#205d49;color:#fff}.status-cancelled{background:#ecebe8;color:#6c6d68}.card.overdue{border:2px solid #c86b52}.card.due-soon{border-color:#c49a52}.dates .adopted-date b{font-size:14px;color:var(--green)}.dates .deadline-alert{display:block;color:#8a3434;font-weight:550}.deadline-alert dd{font-size:12px}.history{margin-top:26px}.history details{border-bottom:1px solid var(--line);padding:12px 0}.history summary{cursor:pointer;font-size:13px}.history dl{margin-top:12px;background:#fafbf8}.history .field{padding:12px 16px}.history .pagination:empty{display:none}
@media(max-width:800px){.checks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coordination-grid{grid-template-columns:1fr}.panel-body{padding:20px}}
@media(max-width:620px){.coordination input,.coordination select,.coordination textarea{font-size:16px}.accepted-inputs{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.checks-grid{gap:12px}.coordination .panel-title{gap:6px;flex-wrap:wrap}.requested-dates .field{grid-template-columns:1fr;gap:3px}.form-actions .button{flex:1}.form-actions #save-hint{flex-basis:100%}.history .field{grid-template-columns:1fr;gap:4px}}

/* Fast scheduling and customer QR */
.step-title{font-size:15px;margin:24px 0 14px}.time-picker{border:0;padding:0;margin:0;min-width:0}.time-picker legend{font-size:12px;margin-bottom:10px}.time-buttons{display:flex;flex-wrap:wrap;gap:9px}.time-choice[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}.time-picker details{margin-top:12px}.time-picker summary{cursor:pointer;font-size:13px;padding:10px 0}.time-picker details label{max-width:360px;margin:10px 0}.checks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.qr-panel{margin-bottom:26px}.qr-layout{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:30px;align-items:center}.booking-qr{width:100%;height:auto;max-width:360px;image-rendering:pixelated}.qr-url{overflow-wrap:anywhere;font-size:12px;color:var(--muted)}.qr-layout h3{overflow-wrap:anywhere;font-size:20px}.customer-booking{max-width:720px;margin:20px auto 30px}.customer-booking h1{font-size:24px}.customer-booking .panel-title{flex-wrap:wrap;gap:12px}.customer-booking .field{padding:20px 0}
@media(max-width:720px){.qr-layout{grid-template-columns:1fr;gap:15px}.booking-qr{max-width:300px;margin:auto}.time-buttons{gap:8px}.time-choice{flex:0 1 calc(25% - 6px);padding:9px 10px}.customer-booking .field{grid-template-columns:1fr;gap:5px}}
@media print{body{background:white;color:#000}header,footer,.no-print{display:none!important}main{padding:0;max-width:none;min-height:0}.qr-panel{border:0;break-inside:avoid}.qr-layout{display:block;text-align:center}.qr-panel .panel-title{justify-content:center}.booking-qr{width:75mm;max-width:none}.qr-url{color:#000}.panel-body{padding:12px}.qr-panel .fine{color:#000}}
