:root{--sea:#0F6E77;--sea-deep:#0A4A51;--sand:#F1EBDF;--paper:#FCFAF6;--paper-2:#F7F2E9;--ink:#17282B;--ink-soft:#58696C;--gold:#C68A34;--gold-soft:#F3E7CC;--coral:#DB6742;--line:#E6DECF;--line-strong:#D6CBB5;--ok:#2E8B6E;--shadow:0 1px 2px rgba(23,40,43,.05),0 8px 28px rgba(23,40,43,.09);--on-sea:#ffffff;--radius:14px}@media (prefers-color-scheme:dark){:root{--sea:#57BFC6;--sea-deep:#8AD6DB;--sand:#0A181B;--paper:#12272B;--paper-2:#16302F;--ink:#EAF2F0;--ink-soft:#9DB3B3;--gold:#E0B463;--gold-soft:#2A2A1C;--coral:#F0855F;--line:#244240;--line-strong:#2F5250;--shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.35);--on-sea:#04181b}}*{box-sizing:border-box}body,html{padding:0}body{margin:0;background:var(--sand);color:var(--ink);font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,Noto Sans JP,Meiryo,system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5;min-height:100vh;font-size:14px}a{color:var(--sea)}.adminhead{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:linear-gradient(160deg,var(--sea) 0,var(--sea-deep) 100%);color:var(--on-sea);padding:10px 12px 0}.adminhead .row{display:flex;align-items:center;justify-content:space-between;gap:10px}.adminhead .brand{font-weight:800;font-size:13px;letter-spacing:.04em}.adminhead .who{font-size:11px;opacity:.9;display:flex;align-items:center;gap:8px}.adminhead .who form{margin:0}.logout{background:color-mix(in srgb,var(--on-sea) 18%,transparent);color:var(--on-sea);border:1px solid color-mix(in srgb,var(--on-sea) 40%,transparent);border-radius:8px;padding:5px 10px;font-size:11px;font-family:inherit;cursor:pointer}.nav{display:flex;gap:4px;overflow-x:auto;padding:8px 0 0;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a{flex:0 0 auto;color:var(--on-sea);text-decoration:none;font-size:12.5px;font-weight:700;padding:9px 12px;border-radius:10px 10px 0 0;opacity:.75;white-space:nowrap;min-height:40px;display:inline-flex;align-items:center}.nav a.on{background:var(--sand);color:var(--sea-deep);opacity:1}.main{max-width:720px;margin:0 auto;padding:12px 12px 60px}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;flex-wrap:wrap}.pagehead h1{font-size:17px;margin:0;font-weight:800}.pagehead .sub{font-size:11.5px;color:var(--ink-soft)}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:12px;overflow:hidden}.card>.ch{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--paper-2);font-weight:800;font-size:13.5px}.card>.cb{padding:12px}.card>.cb>:first-child{margin-top:0}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.kv{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:4px 0}.kv .k{color:var(--ink-soft);flex:0 0 auto}.kv .v{font-weight:700;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:999px;border:1px solid var(--line-strong);background:var(--paper-2);color:var(--ink-soft);white-space:nowrap}.badge.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.badge.warn{color:var(--gold);background:var(--gold-soft);border-color:color-mix(in srgb,var(--gold) 40%,transparent)}.badge.bad{color:var(--coral);background:color-mix(in srgb,var(--coral) 12%,transparent);border-color:color-mix(in srgb,var(--coral) 40%,transparent)}.badge.sea{color:var(--sea);background:color-mix(in srgb,var(--sea) 10%,transparent);border-color:color-mix(in srgb,var(--sea) 35%,transparent)}.note{font-size:12px;color:var(--ink-soft);background:var(--paper-2);border:1px solid var(--line);border-left:3px solid var(--sea);border-radius:10px;padding:9px 11px;margin:10px 0}.note.warn{border-left-color:var(--gold)}.note.bad{border-left-color:var(--coral);color:var(--coral)}.empty{text-align:center;font-size:12.5px;padding:22px 8px}.empty,label.f{color:var(--ink-soft)}label.f{display:block;font-size:11.5px;font-weight:700;margin:10px 0 4px}input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=time],select,textarea{width:100%;min-height:44px;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);border-radius:10px;padding:10px;font-size:15px;font-family:inherit}textarea{min-height:66px;resize:vertical}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-soft) 50%),linear-gradient(135deg,var(--ink-soft) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:30px}input:focus,select:focus,textarea:focus{outline:2px solid var(--sea);outline-offset:1px;border-color:var(--sea)}.checkrow{display:flex;align-items:center;gap:8px;font-size:13px;min-height:44px}.checkrow input{width:20px;height:20px;accent-color:var(--sea)}.btn{min-height:44px;border:0;border-radius:11px;padding:11px 16px;font-size:14px;font-weight:800;cursor:pointer;font-family:inherit;letter-spacing:.02em}.btn.primary{background:var(--sea);color:var(--on-sea)}.btn.primary:hover:not(:disabled){background:var(--sea-deep)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line-strong)}.btn.danger{background:var(--coral);color:#fff}.btn.sm{min-height:38px;padding:8px 12px;font-size:12.5px;border-radius:9px}.btn:disabled{opacity:.4;cursor:default}.btnrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.btnrow .btn{flex:1 1 auto}.slothead{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-weight:800;font-size:15px}.slothead .time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em}.lanes{font-size:12px;color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.res{border:1px solid var(--line);border-radius:12px;padding:10px 11px;margin-bottom:9px;background:var(--paper-2)}.res.cancelled{opacity:.55}.res .rtop{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.res .rname{font-weight:800;font-size:15px}.res .rkana{font-weight:600}.res .rcode,.res .rkana{font-size:11px;color:var(--ink-soft)}.res .rcode{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.res .rmeta{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.res .rbody{margin-top:8px;font-size:12.5px}.tel{display:inline-flex;align-items:center;gap:5px;font-weight:800;color:var(--sea);text-decoration:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.plist{list-style:none;padding:0;margin:6px 0 0;font-size:12.5px}.plist li{padding:3px 0;border-bottom:1px dashed var(--line)}.plist li:last-child{border-bottom:0}.lane{display:grid;grid-template-columns:46px 1fr;grid-gap:8px;gap:8px;align-items:center;margin-top:8px}.lane .ln{font-size:11.5px;font-weight:800;color:var(--ink-soft)}.lane select{min-height:44px}.lanememo{margin-top:6px}.lanememo input{min-height:40px;font-size:13px}.horsewarn{font-size:11.5px;font-weight:700;color:var(--coral);margin-top:5px}.saving{font-size:11px;color:var(--ink-soft)}.calnavrow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.calnavrow .m{font-weight:800;font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dow{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:3px;gap:3px;margin-bottom:3px}.dow span{text-align:center;font-size:10px;color:var(--ink-soft)}.dow span.sun{color:var(--coral)}.dow span.sat{color:var(--sea)}.calgrid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:3px;gap:3px}.cell{min-height:62px;border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:4px 3px;display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cell.blank{visibility:hidden}.cell.none{background:transparent;border-style:dashed;color:color-mix(in srgb,var(--ink-soft) 60%,transparent)}.cell .d{font-size:12px;font-weight:800}.cell .cnt{font-size:11px;font-weight:800;color:var(--sea)}.cell .ln2{font-size:9.5px;color:var(--ink-soft)}.cell .tag{font-size:8.5px;font-weight:800}.cell .tag.full{color:var(--coral)}.cell .tag.draft{color:var(--gold)}.cell.today{border-color:var(--sea);box-shadow:0 0 0 2px color-mix(in srgb,var(--sea) 22%,transparent)}.tablewrap{overflow-x:auto}table.t{width:100%;border-collapse:collapse;font-size:12.5px}table.t td,table.t th{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}table.t th{font-size:11px;color:var(--ink-soft);font-weight:700;white-space:nowrap}table.t td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.loginwrap{max-width:380px;margin:0 auto;padding:40px 16px}.loginwrap h1{font-size:18px;margin:0 0 4px}.loginwrap .sub{font-size:12px;color:var(--ink-soft);margin:0 0 18px}.err{color:var(--coral)}.err,.okmsg{font-size:12.5px;font-weight:700;margin-top:10px}.okmsg{color:var(--ok)}.panel{border:1px solid var(--sea);border-radius:12px;background:color-mix(in srgb,var(--sea) 6%,var(--paper));padding:12px;margin-top:10px}.panel h3{margin:0 0 8px;font-size:13.5px}.chkrow{display:flex;gap:8px;align-items:flex-start;margin:10px 0 4px;font-size:12.5px;color:var(--ink-soft,#555);cursor:pointer}.chkrow input{margin-top:2px}