:root{--ink:#203936;--muted:#6c7e79;--green:#17665c;--line:#dfe7e2;--bg:#f4f6f2;--gold:#af7b2d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 "Microsoft JhengHei","PingFang TC",system-ui,sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid #c38c35;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #67988b;outline-offset:1px}button{transition:background .15s,transform .15s}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.header{height:88px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 40px}.brand{display:flex;gap:13px;align-items:center;font-weight:700;font-size:18px;letter-spacing:2px}.brand-icon{display:grid;place-items:center;width:44px;height:44px;background:var(--green);color:#fff;border-radius:12px;font-family:serif;font-size:26px}.brand small{display:block;font-size:9px;letter-spacing:1.4px;color:var(--muted);font-weight:500;margin-top:2px}.edition{font-size:13px;color:var(--muted)}.edition span{padding:0 12px;color:#bec8c2}.shell{display:grid;grid-template-columns:222px 1fr;min-height:calc(100vh - 88px)}.sidebar{padding:34px 20px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column}.nav-caption{font-size:11px;letter-spacing:2px;color:var(--muted);padding:0 16px 18px}.nav-button{display:flex;gap:13px;align-items:center;border:0;background:transparent;color:var(--muted);width:100%;padding:13px 16px;text-align:left;border-radius:7px;margin-bottom:7px;font-size:14px}.nav-button span{font-size:22px;line-height:1}.nav-button:hover{background:#f4f7f4}.nav-button.selected{background:#e9f1ec;color:var(--green);font-weight:700}.sidebar-bottom{margin-top:auto;padding:44px 12px 6px;font-size:12px}.sidebar-bottom small{display:block;color:var(--muted);margin-top:5px}.online-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#63977c;margin-right:6px}main{padding:26px 36px 0;min-width:0;max-width:1600px;width:100%;margin:0 auto}.notice{padding:9px 15px;background:#eeeee3;border:1px solid #e1e3d2;color:#6c6b42;font-size:12px;border-radius:6px}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:30px 0}.eyebrow{font-size:10px;letter-spacing:2.3px;color:var(--green);font-weight:700;margin:0 0 7px}h1{font-family:"Microsoft JhengHei",sans-serif;font-size:29px;font-weight:600;letter-spacing:1px;margin:0 0 8px;line-height:1.4}h2{font-size:18px;margin:0;font-weight:700}.muted{color:var(--muted);margin:0}.small{font-size:12px}.step-tag{font-size:11px;white-space:nowrap;color:var(--muted)}.step-tag b{padding:0 8px;font-weight:400;color:#a9b9b0}.section-title{display:flex;justify-content:space-between;align-items:center;margin:0 0 13px}.section-title h2{font-size:14px}.section-title span{font-size:11px;color:var(--muted)}.room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:26px}.room-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:9px;text-align:left;padding:17px 20px;color:var(--ink);overflow:hidden}.room-card:hover{border-color:#82a79c}.room-card.active{border:1.5px solid var(--green);background:#edf4ee}.room-card .room-code{display:block;font-size:25px;font-family:Georgia,serif;letter-spacing:1px;margin:4px 0}.room-card small{font-size:11px;color:var(--muted)}.room-card .room-symbol{position:absolute;right:18px;top:20px;color:#bdcbc3;font-size:28px}.room-card.active .room-symbol{color:var(--green)}.room-card .room-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:10px;color:var(--muted)}.room-card.active .room-bottom{color:var(--green)}.workspace{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(400px,1.2fr);gap:22px;align-items:start}.card{padding:26px;background:white;border:1px solid var(--line);border-radius:10px}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:23px}.subtle-tag{font-size:10px;background:#f1f4f0;padding:3px 8px;border-radius:4px;color:var(--muted)}.date-label{font-size:12px}.date-controls{display:flex;gap:7px;align-items:center;margin:7px 0 20px}.date-controls input{min-width:0;flex:1}.icon-button{background:#fff;border:1px solid var(--line);border-radius:5px;padding:4px 12px;font-size:23px;color:var(--green)}.text-button{border:0;background:transparent;font-size:12px;color:var(--green);padding:5px}.legend{display:flex;gap:16px;font-size:10px;color:var(--muted);margin-bottom:20px}.legend i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:5px}.free{background:#e6eee6}.pending{background:#d7b369}.approved{background:#408374}.slot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf0ea;padding:16px 0}.slot-time{font-size:13px;font-variant-numeric:tabular-nums}.slot-status{font-size:11px;padding:3px 9px;border-radius:4px;background:#eef3ec;color:#5b7865}.slot.busy .slot-status{background:#fbf1dc;color:#987224}.slot.approved-slot .slot-status{background:#dcebe6;color:#246859}.slot.past .slot-status{background:#f0f1ef;color:#87908b}.slot button{border:0}.slot button:hover{background:#dce9d9}.help{font-size:11px;color:var(--muted);margin:20px 0 0;line-height:1.9}.selection-summary{display:flex;gap:15px;background:#f3f6f2;border-radius:5px;padding:10px 13px;margin-bottom:18px;font-size:12px;color:var(--muted)}.selection-summary span:first-child{color:var(--green);font-weight:700}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 16px}label{display:block;font-size:12px;color:#465d55}input,textarea,select{display:block;width:100%;border:1px solid #d8e1d9;border-radius:5px;padding:10px 11px;background:#fff;color:var(--ink);font-size:13px;margin-top:6px}input::placeholder,textarea::placeholder{color:#98a59e;font-size:12px}textarea{resize:vertical}.wide{grid-column:1/-1}.privacy-note{font-size:11px;color:var(--muted);line-height:1.9;padding-top:7px}.checkbox{display:flex;gap:9px;align-items:start;font-size:11px}.checkbox input{width:15px;flex-shrink:0;margin-top:3px;accent-color:var(--green)}.primary,.secondary{border-radius:5px;padding:11px 18px;font-size:13px;border:1px solid var(--green);font-weight:600}.primary{color:white;background:var(--green)}.primary:hover{background:#105449}.secondary{color:var(--green);background:white}.secondary:hover{background:#edf4ee}.submit{width:100%;margin-top:18px;display:flex;justify-content:space-between;align-items:center}.message{font-size:12px;color:#a44336;white-space:pre-wrap}.message:not(:empty){margin-top:14px;padding:10px;background:#fff1ed;border-radius:5px}.narrow{max-width:740px;margin-bottom:20px}.narrow form>label{margin-bottom:18px}.narrow form>.primary{margin-top:6px}.prose p,.prose li{color:var(--muted);font-size:14px;line-height:2}.prose h2:not(:first-child){margin-top:30px}.review-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.review-actions select{width:auto}.review-actions input{flex:1;min-width:180px}#lookup-result:not(:empty){margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.status-badge{display:inline-block;background:#edf3ec;color:var(--green);padding:4px 12px;border-radius:4px;font-size:13px}dl{font-size:13px}dt{color:var(--muted);margin-top:13px}dd{margin:4px 0;overflow-wrap:anywhere}footer{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;color:#87948b;font-size:10px;padding:30px 0 20px}dialog{border:1px solid var(--line);border-radius:12px;padding:32px;width:min(490px,calc(100% - 32px));color:var(--ink);box-shadow:0 24px 80px #183e3429}dialog::backdrop{background:#153c346b;backdrop-filter:blur(3px)}dialog h2{font-size:24px}dialog p{font-size:13px}dialog dd{font-family:monospace;font-size:14px;background:#f1f5ef;padding:10px;border-radius:5px}dialog .primary,dialog .secondary{margin-top:15px}.close{position:absolute;right:16px;top:10px;border:0;background:none;color:var(--muted);font-size:24px}.receipt-icon{display:grid;place-items:center;background:#e3efe6;color:var(--green);width:44px;height:44px;border-radius:50%;font-size:23px;margin-bottom:20px}.empty{padding:24px 0;color:var(--muted);font-size:13px}
@media(min-width:1450px){main{padding:32px 52px 0}.card{padding:30px}.room-card{padding:20px 24px}}@media(max-width:1100px){.shell{grid-template-columns:190px 1fr}.sidebar{padding:30px 12px}main{padding:24px 22px 0}.workspace{grid-template-columns:1fr}.step-tag{display:none}.room-card{padding:14px}.availability .slot{padding:12px 0}}@media(max-width:680px){.header{height:75px;padding:0 18px}.brand{font-size:15px;letter-spacing:1px}.brand small{font-size:7px}.edition{display:none}.shell{display:block}.sidebar{padding:9px 12px;border-bottom:1px solid var(--line);border-right:0}.sidebar nav{display:flex;gap:5px}.nav-caption,.sidebar-bottom{display:none}.nav-button{font-size:12px;justify-content:center;gap:6px;padding:8px 5px;margin:0}.nav-button span{font-size:17px}main{padding:17px 16px 0}.page-heading{margin:23px 0}h1{font-size:24px}.page-heading .muted{font-size:13px}.room-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.room-card .room-code{font-size:24px}.room-card .room-bottom{margin-top:0}.card{padding:20px}.workspace{gap:17px}.form-grid{gap:13px}.form-grid label{min-width:0}.notice{font-size:11px}.date-controls{gap:6px}.legend{gap:14px}.step-tag{display:none}footer{gap:5px;font-size:9px}.review-actions{display:block}}

.legend{flex-wrap:wrap}.slot-status{flex-shrink:0}

#notice-dialog{width:min(680px,calc(100% - 24px));max-height:90vh;padding:24px}#notice-dialog>h2{font-size:21px}#notice-scroll{max-height:42vh;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:6px;padding:16px;margin:16px 0}#notice-scroll:focus{outline:2px solid #67988b}#notice-scroll h2{font-size:17px}#notice-scroll li{margin-bottom:14px}.notice-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}#notice-finish:disabled{cursor:not-allowed}#read-notice{margin-top:8px}#notice-hint{margin:10px 0}

#receipt .receipt-reminder{margin:20px 0;padding:16px;background:#fff4da;border-left:4px solid #af7b2d;border-radius:6px;color:#614716}#receipt .receipt-reminder strong{display:block;font-size:22px;line-height:1.5}#receipt .receipt-reminder span{display:block;font-size:14px;margin-top:9px}#receipt-id{font-size:22px;font-weight:700;line-height:1.5}
.header-contact{font-size:13px;line-height:1.7;color:var(--muted);flex-shrink:0}@media(max-width:680px){.header{height:auto;min-height:75px;gap:12px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.header-contact{font-size:12px}}
