:root{--ground: #FAFAFC;--surface: #FFFFFF;--surface-2: #F4F4F8;--border: #E7E7EE;--border-strong: #D6D6DF;--ink: #1A1A21;--ink-muted: #6E6E7C;--ink-faint: #9A9AA8;--accent: #5457D6;--accent-soft: #EEEEFB;--sem-green-fg: #1F9D63;--sem-green-bg: #E7F5EE;--sem-gray-fg: #5D6470;--sem-gray-bg: #F0F1F4;--sem-orange-fg:#BF7413;--sem-orange-bg:#FBEED9;--sem-red-fg: #CF4136;--sem-red-bg: #FBE7E4;--sem-stop-fg: var(--ink-muted);--sem-stop-bg: var(--surface);--ariston-blue:#0f2d87;--occ-red:#E0685C;--occ-amber:#E0A94E;--occ-green:#4BB07A;--occ-deep:#2F8F63;--occ-track:#ECECF1;--ota-ikyu:#2C3E6B;--ota-ikyu-bg:#E9EDF6;--shadow: 0 1px 2px rgba(20,20,40,.04), 0 8px 24px rgba(20,20,40,.06);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", Meiryo, sans-serif}@media (prefers-color-scheme: dark){:root{--ground:#0E0E12;--surface:#16161C;--surface-2:#1D1D24;--border:#26262F;--border-strong:#33333E;--ink:#ECECF2;--ink-muted:#9A9AA8;--ink-faint:#6C6C79;--accent:#8487F0;--accent-soft:#1E1E33;--sem-green-fg:#4CC78D;--sem-green-bg:#12281F;--sem-gray-fg:#9AA1AD;--sem-gray-bg:#1C1D23;--sem-orange-fg:#E0A24E;--sem-orange-bg:#2A2113;--sem-red-fg:#EB6A5E;--sem-red-bg:#2C1615;--ariston-blue:#0f2d87;--occ-track:#26262F;--ota-ikyu:#AEBEE4;--ota-ikyu-bg:#1B2136;--shadow: 0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.4)}}:root[data-theme=light]{--ground:#FAFAFC;--surface:#FFFFFF;--surface-2:#F4F4F8;--border:#E7E7EE;--border-strong:#D6D6DF;--ink:#1A1A21;--ink-muted:#6E6E7C;--ink-faint:#9A9AA8;--accent:#5457D6;--accent-soft:#EEEEFB;--sem-green-fg:#1F9D63;--sem-green-bg:#E7F5EE;--sem-gray-fg:#5D6470;--sem-gray-bg:#F0F1F4;--sem-orange-fg:#BF7413;--sem-orange-bg:#FBEED9;--sem-red-fg:#CF4136;--sem-red-bg:#FBE7E4;--occ-track:#ECECF1;--ota-ikyu:#2C3E6B;--ota-ikyu-bg:#E9EDF6}:root[data-theme=dark]{--ground:#0E0E12;--surface:#16161C;--surface-2:#1D1D24;--border:#26262F;--border-strong:#33333E;--ink:#ECECF2;--ink-muted:#9A9AA8;--ink-faint:#6C6C79;--accent:#8487F0;--accent-soft:#1E1E33;--sem-green-fg:#4CC78D;--sem-green-bg:#12281F;--sem-gray-fg:#9AA1AD;--sem-gray-bg:#1C1D23;--sem-orange-fg:#E0A24E;--sem-orange-bg:#2A2113;--sem-red-fg:#EB6A5E;--sem-red-bg:#2C1615;--ariston-blue:#0f2d87;--occ-track:#26262F;--ota-ikyu:#AEBEE4;--ota-ikyu-bg:#1B2136}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45}.tnum{font-variant-numeric:tabular-nums}button{font-family:inherit;cursor:pointer;color:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion: reduce){*{transition:none!important}}.topnav{height:56px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:24px;padding:0 20px;position:sticky;top:0;z-index:20}.brand{font-weight:700;letter-spacing:-.01em;font-size:15px;display:flex;align-items:center;gap:8px}.brand .dot{width:16px;height:16px;border-radius:5px;background:var(--accent);display:inline-block;box-shadow:inset 0 0 0 3px var(--surface)}.nav-items{display:flex;gap:2px}.nav-items a{text-decoration:none;color:var(--ink-muted);padding:7px 14px;border-radius:8px;font-weight:500;font-size:13.5px}.nav-items a.router-link-active{color:var(--ink);background:var(--surface-2)}.nav-items a:hover{color:var(--ink)}.nav-right{margin-left:auto;display:flex;align-items:center;gap:12px}.hotel-switch{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:13px;font-weight:500;color:var(--ink)}.avatar{width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:600}.theme-toggle{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--ink-muted);font-size:15px;display:grid;place-items:center}.ctxbar{display:flex;align-items:center;gap:16px;padding:16px 20px 12px;flex-wrap:wrap}.ctx-title{font-size:19px;font-weight:650;letter-spacing:-.01em}.chips{display:flex;gap:6px}.chip{font-size:12px;padding:3px 9px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--ink-muted);font-weight:500}.month-nav{display:flex;align-items:center;gap:6px;margin-left:auto}.month-nav button{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--ink-muted);font-size:15px;display:grid;place-items:center}.month-nav button:hover{color:var(--ink);border-color:var(--border-strong)}.month-label{font-weight:600;font-size:14px;min-width:104px;text-align:center}.seg{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.seg button{border:0;background:var(--surface);color:var(--ink-muted);padding:6px 12px;font-size:12.5px;font-weight:500}.seg button+button{border-left:1px solid var(--border)}.seg button.on{background:var(--surface-2);color:var(--ink)}.seg button:not(.on):hover{color:var(--ink);background:var(--surface-2)}.cal-switch{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cal-switch .seg-ota button{padding:6px 11px;font-size:12.5px}.cal-switch .sw-sel{padding:6px 9px;font-size:12.5px;border-radius:8px;cursor:pointer}.legend{display:flex;align-items:center;gap:18px;padding:0 20px 14px;flex-wrap:wrap;color:var(--ink-muted);font-size:12px}.legend .grp{display:flex;align-items:center;gap:10px}.legend .lab{text-transform:uppercase;letter-spacing:.07em;font-size:10.5px;color:var(--ink-faint);font-weight:600}.swatch{display:inline-flex;align-items:center;gap:5px}.swatch i{width:11px;height:11px;border-radius:3px;display:inline-block}.sw-green i{background:var(--sem-green-fg)}.sw-gray i{background:var(--sem-gray-fg)}.sw-orange i{background:var(--sem-orange-fg)}.sw-red i{background:var(--sem-red-fg)}.occ-legend{display:inline-flex;height:8px;width:80px;border-radius:4px;overflow:hidden}.occ-legend span{flex:1}.occ-legend .a{background:var(--occ-red)}.occ-legend .b{background:var(--occ-amber)}.occ-legend .c{background:var(--occ-green)}.occ-legend .d{background:var(--occ-deep)}.workspace{display:grid;grid-template-columns:1fr 336px;gap:16px;padding:0 20px 28px;align-items:start}@media (max-width:980px){.workspace{grid-template-columns:1fr}}.cal-wrap{min-width:0;overflow-x:auto;position:relative}.weekhead{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-bottom:0;border-radius:12px 12px 0 0;overflow:hidden;min-width:700px}.weekhead div{background:var(--surface);text-align:center;padding:9px 0;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--ink-muted)}.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:0 0 12px 12px;overflow:hidden;min-width:700px}.cell{background:var(--surface);border:0;text-align:left;padding:8px 8px 7px;min-height:104px;display:flex;flex-direction:column;gap:5px;position:relative;transition:filter .12s}.cell.empty{background:var(--surface-2);cursor:default}.cell:not(.empty):hover{filter:brightness(.985)}.cell.sel{box-shadow:inset 0 0 0 2px var(--accent);z-index:2}.cell.pinned{box-shadow:inset 0 0 0 2px var(--accent),0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent);z-index:3}.cell.green{background:var(--sem-green-bg)}.cell.gray{background:var(--sem-gray-bg)}.cell.orange{background:var(--sem-orange-bg)}.cell.red{background:var(--sem-red-bg)}.cell.stop{background:var(--surface)}.cell-top{display:flex;align-items:center;justify-content:space-between}.daynum{font-size:12.5px;font-weight:600;color:var(--ink-muted)}.cell.today .daynum{background:var(--accent);color:#fff;width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-size:11.5px}.badge{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:600;padding:1px 6px 1px 5px;border-radius:999px;background:var(--surface-2);color:var(--ink-muted)}.badge .gem{width:8px;height:8px;border-radius:2px;transform:rotate(45deg);background:var(--ink-faint)}.badge.gold{background:#f6e7b8;color:#8a6a12}.badge.gold .gem{background:#c9a227}:root[data-theme=dark] .badge.gold{background:#2e2712;color:#e4c767}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .badge.gold{background:#2e2712;color:#e4c767}}.price-main{font-size:17px;font-weight:680;letter-spacing:-.02em;margin-top:1px}.price-main.stop{color:var(--sem-red-fg);font-size:14px}.price-sub{font-size:11px;color:var(--ink-faint);margin-top:-2px}.dev{align-self:flex-start;font-size:11px;font-weight:650;padding:1px 7px;border-radius:6px}.dev.green{color:var(--sem-green-fg);background:color-mix(in srgb,var(--sem-green-fg) 14%,transparent)}.dev.gray{color:var(--sem-gray-fg);background:color-mix(in srgb,var(--sem-gray-fg) 14%,transparent)}.dev.orange{color:var(--sem-orange-fg);background:color-mix(in srgb,var(--sem-orange-fg) 15%,transparent)}.dev.red{color:var(--sem-red-fg);background:color-mix(in srgb,var(--sem-red-fg) 15%,transparent)}.occ{margin-top:auto;display:flex;align-items:center;gap:6px}.occ-track{flex:1;height:4px;border-radius:3px;background:var(--occ-track);overflow:hidden}.occ-fill{height:100%;border-radius:3px}.occ-num{font-size:10px;color:var(--ink-faint);font-weight:600;min-width:26px;text-align:right}.tk-ico{display:inline-block;vertical-align:-2px;flex-shrink:0}.panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);position:sticky;top:72px;overflow:hidden}.p-empty{padding:40px 18px;text-align:center;color:var(--ink-faint);font-size:13px}.p-head{padding:16px 18px 14px;border-bottom:1px solid var(--border)}.p-date{font-size:20px;font-weight:680;letter-spacing:-.01em}.p-dow{color:var(--ink-muted);font-size:12.5px;font-weight:500}.p-verdict{margin-top:10px;display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:8px}.pin-bar{display:flex;align-items:center;gap:8px;margin-top:9px;min-height:20px}.pin-on{font-size:11.5px;font-weight:600;color:var(--accent)}.pin-btn{font-size:11px;font-weight:600;color:var(--ink-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:2px 8px;cursor:pointer}.pin-btn:hover{color:var(--ink);border-color:var(--border-strong)}.pin-hint{font-size:11px;color:var(--ink-faint)}.p-body{padding:14px 18px 4px}.p-sec{text-transform:uppercase;letter-spacing:.07em;font-size:10.5px;color:var(--ink-faint);font-weight:700;margin:6px 0 8px}.self-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:4px}.self-name{font-weight:600;font-size:13.5px}.self-price{font-size:18px;font-weight:700;letter-spacing:-.02em}.self-occ{display:flex;align-items:center;gap:8px;margin:6px 0 4px}.self-occ .occ-track{height:6px}.comp{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--border)}.price-at{flex-basis:100%;font-size:10.5px;color:var(--ink-faint);margin:1px 0 2px}.ro-fieldset{border:0;margin:0;padding:0;min-inline-size:0}.ro-note{border-left:3px solid var(--accent);padding-left:8px}.ota{font-size:10px;font-weight:700;letter-spacing:.02em;padding:2px 6px;border-radius:5px;background:var(--ota-ikyu-bg);color:var(--ota-ikyu);flex-shrink:0;white-space:nowrap}.comp-name{font-size:13px;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comp-price{font-size:13.5px;font-weight:650}.comp-diff{font-size:11px;font-weight:600;min-width:70px;text-align:right}.comp-diff.up{color:var(--sem-red-fg)}.comp-diff.down{color:var(--sem-green-fg)}.comp.stop .comp-price{color:var(--sem-red-fg);font-size:12px}.comp.stop .comp-diff{color:var(--ink-faint)}.comp.offrank{opacity:.5}.rank-tag{margin-left:6px;font-size:9px;font-weight:700;letter-spacing:.03em;padding:1px 5px;border-radius:4px;background:var(--surface-2);color:var(--ink-faint);border:1px solid var(--border);vertical-align:middle}.avg-row{display:flex;align-items:center;justify-content:space-between;padding:11px 0 6px;border-top:1.5px solid var(--border-strong);margin-top:2px;font-weight:600}.avg-row .lab{color:var(--ink-muted);font-size:12.5px}.avg-row .val{font-size:15px;font-weight:700}.ticket-box{margin:12px 18px 16px;border:1px solid var(--border);border-radius:11px;overflow:hidden}.ticket-h{display:flex;align-items:center;gap:8px;padding:11px 13px;background:var(--surface-2)}.ticket-h .gem{width:11px;height:11px;border-radius:3px;transform:rotate(45deg);background:#c9a227}.ticket-title{font-size:12.5px;font-weight:600}.ticket-cond{padding:10px 13px;font-size:12.5px;color:var(--ink-muted);line-height:1.5}.ticket-cond .tk-color{vertical-align:-2px;margin-right:5px}.ticket-states{display:flex;gap:6px;padding:0 13px 12px}.st{flex:1;text-align:center;padding:7px 0;border-radius:8px;font-size:12px;font-weight:600;border:1px solid var(--border);background:var(--surface);color:var(--ink-muted);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .12s,background .12s}.st:hover:not(.on){border-color:var(--border-strong);color:var(--ink);background:var(--surface-2)}.st.on{background:var(--accent);border-color:var(--accent);color:#fff}.st.del.on{background:var(--sem-red-fg);border-color:var(--sem-red-fg)}.p-foot{padding:0 18px 16px}.link-btn{width:100%;padding:9px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--accent);font-weight:600;font-size:12.5px;display:flex;align-items:center;justify-content:center;gap:6px}.link-btn:hover{background:var(--accent-soft)}.state-msg{max-width:520px;margin:64px auto;text-align:center;color:var(--ink-muted);padding:0 20px}.state-msg h2{color:var(--ink);font-size:18px;margin:0 0 8px}.state-msg .cta{display:inline-block;margin-top:14px;padding:9px 18px;border-radius:9px;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;font-size:13px}.loading{padding:40px 20px;color:var(--ink-faint)}.spinner{width:30px;height:30px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.load-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:72px 20px;color:var(--ink-muted)}.load-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--ink-muted);background:color-mix(in srgb,var(--ground) 60%,transparent);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}.load-msg{font-size:12.5px;text-align:center;max-width:280px;line-height:1.5;white-space:pre-line}.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 (prefers-reduced-motion: reduce){.spinner{animation:none;opacity:.65}}.note{padding:6px 20px 24px;color:var(--ink-faint);font-size:11.5px;max-width:900px}.tk-list{padding:4px 20px 28px;max-width:900px}.tk-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:var(--surface);margin-bottom:8px}.tk-date{font-weight:700;font-size:14px;min-width:80px}.tk-cond{flex:1;font-size:13px;color:var(--ink-muted)}.tk-states{display:flex;gap:6px}.tk-states .st{min-width:70px}.tk-count{display:flex;gap:14px;padding:8px 20px 0;color:var(--ink-faint);font-size:12px}.cascade-toggle{margin-left:auto;font-size:12.5px;color:var(--ink-muted);display:inline-flex;align-items:center;gap:6px;cursor:pointer}.tk-filter{display:flex;flex-wrap:wrap;gap:6px;padding:0 20px 12px}.tk-filter button{border:1px solid var(--border);background:var(--surface);color:var(--ink-muted);padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:500}.tk-filter button.on{background:var(--accent);border-color:var(--accent);color:#fff}.tk-filter button:hover:not(.on){color:var(--ink);border-color:var(--border-strong)}.tk-row.dimmed{opacity:.55}.tk-meta{display:block;font-size:11px;color:var(--ink-faint);margin-top:3px}.banner{margin:0 20px 14px;padding:11px 14px;border-radius:10px;font-size:12.5px;font-weight:500}.banner.warn{color:var(--sem-orange-fg);background:var(--sem-orange-bg);border:1px solid color-mix(in srgb,var(--sem-orange-fg) 30%,transparent)}.banner.info{color:var(--sem-gray-fg);background:var(--sem-gray-bg);border:1px solid var(--border)}.list-view,.graph-view{padding:0 20px 24px}.list-table{font-size:12.5px}.list-table th,.list-table td{white-space:nowrap}.list-table .dev{padding:1px 6px}.list-row{cursor:pointer}.list-row:hover{background:var(--surface-2)}.list-stop{color:var(--sem-red-fg);font-weight:600}.trend-wrap{display:grid;grid-template-columns:1fr 300px;gap:16px;padding:0 20px 28px;align-items:start}@media (max-width:900px){.trend-wrap{grid-template-columns:1fr}}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 16px 10px;box-shadow:var(--shadow)}.chart{width:100%;height:auto;display:block}.chart .grid{stroke:var(--border);stroke-width:1}.chart .axis-lbl{fill:var(--ink-faint);font-size:10px;font-variant-numeric:tabular-nums}.chart .axis-lbl.end{text-anchor:end}.chart .axis-lbl.mid{text-anchor:middle}.legend2{display:flex;flex-wrap:wrap;gap:14px;padding:12px 4px 4px;font-size:11.5px;color:var(--ink-muted)}.lg-item{display:inline-flex;align-items:center;gap:6px}.lg-item i{width:16px;height:3px;border-radius:2px;display:inline-block}.lg-item i.dashed{background-image:none;opacity:.9}.insight-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:12px;box-shadow:var(--shadow)}.insight-card.sug-raise{border-color:color-mix(in srgb,var(--sem-green-fg) 40%,var(--border));background:var(--sem-green-bg)}.insight-card.sug-review{border-color:color-mix(in srgb,var(--sem-red-fg) 40%,var(--border));background:var(--sem-red-bg)}.insight-txt{margin:0;font-size:13px;line-height:1.6}.settings-nav{display:flex;align-items:center;gap:4px;padding:0 20px 12px;border-bottom:1px solid var(--border);margin:0 0 16px}.settings-nav button{border:0;background:transparent;color:var(--ink-muted);padding:8px 14px;font-size:13.5px;font-weight:500;border-radius:8px 8px 0 0;border-bottom:2px solid transparent;margin-bottom:-1px}.settings-nav button.on{color:var(--ink);border-bottom-color:var(--accent)}.settings-nav button:hover{color:var(--ink)}.settings-nav .ext{margin-left:auto;font-size:12px;color:var(--accent);text-decoration:none;padding:8px 4px}.set-wrap{padding:0 20px 32px;max-width:1080px}.msg-note{color:var(--ink-faint);font-size:12px;margin:0 0 12px}.msg{font-size:12.5px;padding:8px 12px;border-radius:8px;margin:0 0 12px}.msg.ok{color:var(--sem-green-fg);background:var(--sem-green-bg)}.msg.err{color:var(--sem-red-fg);background:var(--sem-red-bg)}.set-toolbar{display:flex;justify-content:flex-end;margin:0 0 12px}.invite-card{border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);padding:16px;margin:0 0 16px}.invite-head{font-size:14px;font-weight:650;margin-bottom:12px}.invite-fields{display:flex;gap:14px;flex-wrap:wrap}.fld{display:flex;flex-direction:column;gap:5px;flex:1;min-width:220px}.fld.fld-role{flex:0 0 160px;min-width:140px}.fld>span{font-size:11px;font-weight:600;color:var(--ink-muted);letter-spacing:.02em}.invite-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.field{font-family:inherit;font-size:13px;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:7px 9px}.field:focus{outline:none;border-color:var(--accent)}.field::placeholder{color:color-mix(in srgb,var(--ink-faint) 65%,transparent);opacity:1}.field.sm{padding:5px 7px;font-size:12.5px}.invite-bar .field[type=email]{min-width:220px;flex:1}.btn{font-size:12.5px;font-weight:600;padding:7px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--ink)}.btn:hover{border-color:var(--border-strong)}.btn:disabled{opacity:.5;cursor:default}.btn.sm{padding:5px 10px;font-size:12px}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{filter:brightness(1.05);border-color:var(--accent)}.btn-danger{color:var(--sem-red-fg);border-color:color-mix(in srgb,var(--sem-red-fg) 40%,var(--border))}.btn-danger:hover:not(:disabled){background:var(--sem-red-bg)}.set-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--surface);border:1px solid var(--border);border-radius:11px}.set-table thead th:first-child{border-top-left-radius:11px}.set-table thead th:last-child{border-top-right-radius:11px}.set-table th{text-align:left;font-size:11px;letter-spacing:.04em;color:var(--ink-faint);font-weight:600;padding:10px 12px;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}.set-table td{padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.set-table tr:last-child td{border-bottom:0}.set-table td.center{text-align:center}.set-table .mono{font-variant-numeric:tabular-nums;color:var(--ink-muted)}.set-table .field{width:100%}.set-table .field.sm{width:auto}.hint{font-size:10px;color:var(--ink-faint);margin-left:4px}.self-tag{margin-left:6px;font-size:9.5px;font-weight:700;padding:1px 5px;border-radius:4px;background:var(--accent-soft);color:var(--accent)}.th-hint{position:relative;cursor:help}.th-i{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;border:1px solid var(--border-strong);color:var(--ink-faint);font-size:9px;font-weight:700;margin-left:5px;vertical-align:middle}.th-hint:hover .th-i{color:var(--accent);border-color:var(--accent)}.th-tip{position:absolute;top:100%;left:0;margin-top:6px;z-index:30;width:320px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:11px 13px;font-weight:400;text-transform:none;letter-spacing:normal;color:var(--ink);font-size:12px;line-height:1.55;white-space:normal;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .12s,transform .12s}.th-hint:hover .th-tip{opacity:1;visibility:visible;transform:translateY(0)}.th-tip div{margin:4px 0}.th-tip b{display:inline-block;min-width:56px;color:var(--accent);font-weight:700;margin-right:6px}@media (prefers-reduced-motion: reduce){.th-tip{transition:none}}.pill{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px}.pill.ok{color:var(--sem-green-fg);background:var(--sem-green-bg)}.pill.warn{color:var(--sem-orange-fg);background:var(--sem-orange-bg)}.brand-chip{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:5px;margin-right:6px}.brand-chip.ota-rakuten{background:#fbe3e1;color:#bf0000}.brand-chip.ota-jaran{background:#fcebd7;color:#c25e00}.brand-chip.ota-ikyu{background:var(--ota-ikyu-bg);color:var(--ota-ikyu)}.brand-chip.ota-own{background:var(--surface-2);color:var(--ink-muted)}:root[data-theme=dark] .brand-chip.ota-rakuten{background:#3a1614;color:#f0928a}:root[data-theme=dark] .brand-chip.ota-jaran{background:#3a2510;color:#e7a45c}.detail-row td{background:var(--surface-2);padding:14px 16px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width:820px){.detail-grid{grid-template-columns:1fr}}.detail-col{min-width:0}.ota-line{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12.5px}.ota-line .field{flex:1;min-width:0}.ota-line label{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;color:var(--ink-muted);font-size:12px}.comp-mini{width:100%;border-collapse:collapse;font-size:12.5px}.comp-mini td{padding:5px 8px;border-bottom:1px solid var(--border)}.comp-mini tr.off{opacity:1}.rev-groups{display:flex;flex-direction:column;gap:22px}.rev-head{margin-bottom:10px}.rev-head h3{margin:0;font-size:15px}.rev-head span{font-size:12px;color:var(--ink-faint)}.rev-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.rev-card{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--border);border-radius:11px;background:var(--surface);text-decoration:none;color:var(--ink);transition:border-color .12s}.rev-card:hover{border-color:var(--accent);background:var(--accent-soft)}.rev-name{font-weight:600;font-size:13.5px}.rev-ext{color:var(--ink-faint);font-size:11px}.rev-note{font-size:11.5px;color:var(--ink-muted)}.login-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;background:var(--surface-2)}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:28px 26px 22px}.login-brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:20px;letter-spacing:-.01em}.login-brand .dot{width:20px;height:20px;border-radius:6px;background:var(--accent)}.login-title{font-size:15px;font-weight:600;color:var(--ink-muted);margin:14px 0 18px}.login-form{display:flex;flex-direction:column;gap:14px}.login-form .fld{min-width:0}.login-remember{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-muted);cursor:pointer}.login-submit{width:100%;padding:10px;font-size:14px;margin-top:2px}.login-links{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);font-size:12.5px}.login-links a{color:var(--accent);text-decoration:none}.login-links a:hover{text-decoration:underline}.login-copy{font-size:11px;color:var(--ink-faint)}.nav-logout{white-space:nowrap}.tk-ico{color:var(--ariston-blue)}.stop-tag{display:inline-block;align-self:flex-start;font-size:10px;font-weight:700;letter-spacing:.02em;color:var(--sem-red-fg);background:color-mix(in srgb,var(--sem-red-fg) 12%,transparent);padding:1px 6px;border-radius:5px}.p-mini{font-size:11.5px;color:var(--ink-faint);padding:4px 0 2px}.p-sec.ref-sec{display:flex;align-items:center;gap:8px;margin-top:12px;border-top:1px solid var(--border);padding-top:12px}.ref-note{text-transform:none;letter-spacing:0;font-weight:500;color:var(--ink-faint);font-size:10px}.comp.ref-comp{opacity:.72}.comp.ref-comp .comp-price{color:var(--ink-muted)}.ticket-scroll{max-height:220px;overflow-y:auto}.ticket-item{padding:2px 0 8px;border-top:1px solid var(--border)}.ticket-item:first-child{border-top:0}.chart .g-lbl{text-anchor:middle;font-size:9px;font-variant-numeric:tabular-nums;font-weight:600}.chart .g-lbl-own{fill:var(--accent)}.chart .g-lbl-avg{fill:var(--ink-muted);font-weight:500}.ref-toggle{font-size:11px;color:var(--ink-muted);display:inline-flex;align-items:center;gap:4px;white-space:nowrap;cursor:pointer}.perm-legend{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;margin:12px 0 16px;font-size:12.5px;color:var(--ink-muted)}.perm-legend .k{display:inline-flex;align-items:center;gap:8px}.perm-legend .faint{color:var(--ink-faint)}.perm-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:12px}.perm-table{min-width:640px;margin:0}.perm-table th,.perm-table td{border-bottom:1px solid var(--border)}.perm-table thead th{background:var(--surface-2);font-size:12.5px;text-align:center;padding:11px 12px;white-space:nowrap}.perm-table th.perm-feat{text-align:left}.perm-role .perm-en{display:block;font-size:10px;color:var(--ink-faint);font-weight:600;margin-top:1px}.perm-feat{text-align:left;min-width:230px;font-size:13.5px;font-weight:500}.perm-sub{display:block;font-size:11px;color:var(--ink-faint);font-weight:400;margin-top:2px}.perm-c{text-align:center}.perm-grp td{background:var(--surface-2);font-weight:700;font-size:12px;letter-spacing:.03em;color:var(--ink-muted);padding:9px 12px}.perm-gnote{font-weight:500;letter-spacing:0;color:var(--ink-faint);font-size:11px;margin-left:8px}.perm-cell{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:7px;font-weight:700;font-size:13px}.perm-cell.y{background:var(--sem-green-bg);color:var(--sem-green-fg)}.perm-cell.n{background:var(--sem-red-bg);color:var(--sem-red-fg)}.perm-notes{margin:18px 0 0;padding-left:18px;display:grid;gap:7px;font-size:12.5px;color:var(--ink-muted)}.perm-notes b{color:var(--ink);font-weight:600}.msg-note code,.perm-notes code{background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:1px 5px;font-size:11.5px}.compass-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 14px}.cx-hotel{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-muted)}.edit-card{background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;padding:16px 18px;margin:0 0 16px;box-shadow:var(--shadow)}.edit-head{font-family:Zen Kaku Gothic New,Noto Sans JP,sans-serif;font-weight:700;font-size:14px;margin:0 0 12px}.edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 16px}.edit-grid .fld.fld-wide{grid-column:1 / -1}.edit-grid .fld span{font-size:12px;color:var(--ink-muted)}.edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.cx-hint{font-size:12px;color:var(--ink-faint);margin:8px 0 0}.cx-active .chk{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--ink)}.cx-recipes{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}.cx-recipes-h{font-size:12px;font-weight:600;color:var(--ink-muted);margin-bottom:8px}.cx-recipe-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;font-size:13px;cursor:pointer}.cx-recipe-item:hover{background:var(--surface-2)}.set-table .sub{display:block;font-size:10.5px;color:var(--ink-faint);font-weight:400}.row-actions{white-space:nowrap;text-align:right;width:1%}.row-actions .btn+.btn{margin-left:6px}.empty-row{text-align:center;color:var(--ink-faint);padding:22px 0}.lvl-chip{display:inline-block;padding:2px 9px;border-radius:6px;font-size:11.5px;font-weight:600;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.25)}.rev-card-app{border:0;text-align:left;font:inherit;cursor:pointer;width:100%}.rev-badge{font-size:10px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:5px;padding:1px 6px;margin-left:4px}.ctxbar.sub{padding:14px 20px 6px}.mst-seg{margin:0 0 14px}.set-table .add-row td{background:var(--surface-2)}.set-table .add-row .mono{color:var(--ink-faint);font-size:11px}.cal-add{display:flex;align-items:center;gap:10px}.field.sm[type=color]{padding:2px;width:44px;height:30px}.usr-seg{margin:0 0 16px}.perm-embed{padding-top:2px}.yield-table td{padding:6px 10px}.yield-table .field.sm.num{width:70px}.yield-table tr.is-set{background:color-mix(in srgb,var(--sem-green-fg) 5%,transparent)}.yield-table tr.wknd .sun{color:var(--sem-red-fg)}.yield-table .sat{color:var(--accent)}.hx{padding:4px 2px 8px}.hx-sec{font-family:Zen Kaku Gothic New,Noto Sans JP,sans-serif;font-weight:700;font-size:12px;letter-spacing:.03em;color:var(--ink-muted);margin:16px 0 8px;padding-bottom:5px;border-bottom:1px solid var(--border)}.hx-sec:first-child{margin-top:2px}.hx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 14px}.hx-grid .fld span{font-size:11.5px;color:var(--ink-muted)}.hx-grid .fld.fld-wide{grid-column:1 / -1}.hx-flags{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:4px 0}.hx .chk{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink);cursor:pointer}.chk-fld{justify-content:flex-start}.chk-fld .chk{margin-top:2px}.hx-div{width:1px;height:18px;background:var(--border-strong);margin:0 4px}.hx-ota{display:flex;flex-direction:column;gap:8px}.hx-actions{margin:16px 0 4px}.plan-grid{border-collapse:collapse}.plan-grid th,.plan-grid td{border:1px solid var(--border);padding:5px 12px;font-size:12px;text-align:center}.plan-grid th{background:var(--surface-2);color:var(--ink-muted);font-weight:600}.plan-grid .plan-row-h{text-align:left;font-weight:600;background:var(--surface-2)}.comp-add{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 12px}.comp-add .field{max-width:260px}.comp-editor{margin:12px 0 4px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-left:3px solid var(--accent);border-radius:12px;padding:12px 16px;background:var(--accent-soft)}.comp-editor-h{font-weight:700;font-size:12.5px;color:var(--accent);margin-bottom:8px}.toast-region{position:fixed;top:68px;right:20px;z-index:60;display:flex;flex-direction:column;gap:8px;max-width:min(400px,92vw);pointer-events:none}.toast-region .msg{margin:0;pointer-events:auto;cursor:pointer;box-shadow:var(--shadow);border:1px solid var(--border);animation:toastIn .16s ease-out}.toast-region .msg.ok{border-color:color-mix(in srgb,var(--sem-green-fg) 45%,var(--border))}.toast-region .msg.err{border-color:color-mix(in srgb,var(--sem-red-fg) 45%,var(--border))}@keyframes toastIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.toast-region .msg{animation:none}}@media (max-width:640px){.toast-region{left:12px;right:12px;max-width:none}}.hx-grid.basic{grid-template-columns:1fr;gap:10px;max-width:520px}.hx-grid.basic .fld-wide{grid-column:1 / -1}.set-table .list-row{cursor:pointer}.set-table .list-row:hover{background:var(--surface-2)}.comp-edit-page{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:14px;padding:8px 16px 12px!important;margin-top:4px}.hx-sec{position:relative}.info-hint{position:relative;display:inline-flex;margin-left:6px;vertical-align:middle}.info-i{display:inline-grid;place-items:center;width:15px;height:15px;font-size:11px;color:var(--ink-faint);cursor:help;border-radius:50%}.info-i:hover{color:var(--accent)}.info-tip{position:absolute;left:22px;top:50%;transform:translateY(-50%) translate(-4px);width:300px;max-width:70vw;background:var(--surface);color:var(--ink-muted);border:1px solid var(--border-strong);border-radius:10px;padding:9px 11px;font-size:11.5px;font-weight:400;line-height:1.55;letter-spacing:0;text-transform:none;white-space:pre-line;box-shadow:var(--shadow);z-index:50;opacity:0;visibility:hidden;transition:opacity .12s,transform .12s;pointer-events:none}.info-hint:hover .info-tip,.info-i:focus+.info-tip{opacity:1;visibility:visible;transform:translateY(-50%) translate(0)}@media (prefers-reduced-motion:reduce){.info-tip{transition:none}}.hx-sec.hx-sec-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.comp-mini thead th{text-align:left;font-size:11px;font-weight:600;color:var(--ink-muted);background:var(--surface-2);padding:6px 8px;border-bottom:1px solid var(--border);white-space:nowrap}.comp-mini thead th.center{text-align:center}.ctx-title.sub-title{margin-left:14px;padding-left:14px;border-left:1px solid var(--border-strong);font-size:16px}.ctxbar.sub{flex-direction:column;align-items:flex-start;gap:6px}.ctxbar.sub .ctx-title.sub-title{margin-left:0;padding-left:0;border-left:0}.badge .tk-count{font-weight:800;font-size:12.5px;line-height:1;padding:0 3px;color:var(--ariston-blue)}.settings-empty{padding:40px 20px;color:var(--ink-faint);font-size:13px}.tk-confirmed{color:var(--sem-green-fg);font-weight:600;margin-left:2px}.yield-about ul{margin:6px 0 4px;padding-left:18px}.yield-about li{margin:2px 0}.tk-badge{display:inline-flex;align-items:center}.hotel-link{color:var(--accent);text-decoration:none}.hotel-link:hover{text-decoration:underline}.badge.red-alert .tk-count,.badge.red-alert .tk-ico{color:var(--sem-red-fg)}
