@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600&display=swap');
:root{font-family:'DM Sans','Noto Sans JP',sans-serif;color:#122b3c;font-size:16px;--ink:#122b3c;--muted:#6b7d89;--line:#dfe7eb;--blue:#357391;--danger:#a8463f}*{box-sizing:border-box}body{margin:0;background:#f4f7f9}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #e4ac70;outline-offset:2px}[hidden]{display:none!important}header{height:84px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 30px}.brand{display:flex;gap:16px;text-decoration:none;align-items:center;font-size:32px;font-weight:700;font-style:italic;letter-spacing:-.1em}.brand>span{font-size:15px;font-style:normal;letter-spacing:.16em}.brand small{display:block;font-size:10px;font-weight:500;color:var(--muted);letter-spacing:.22em;margin-top:5px}.header-actions{display:flex;align-items:center;gap:20px}.private{font-size:12px;color:var(--muted)}.button{border-radius:7px;border:1px solid transparent;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:14px;font-weight:500;line-height:1.3;padding:11px 16px;white-space:nowrap}.primary{background:var(--ink);color:white}.primary:hover{background:#264d66}.secondary{background:#fff;color:var(--ink);border-color:#d8e2e8}.secondary:hover{background:#f0f5f7}.danger-text{color:var(--danger);background:transparent}.danger-text:hover{background:#fff0ee}.danger{background:#a8463f;color:#fff}.icon-btn{width:32px;height:32px;border:1px solid var(--line);background:white;border-radius:5px;font-size:19px;color:#697f8c;flex-shrink:0}.muted{color:var(--muted);font-size:14px;line-height:1.6}main{display:flex;min-height:calc(100dvh - 84px)}aside{width:330px;flex:none;background:white;border-right:1px solid var(--line);height:calc(100dvh - 84px);position:sticky;top:0;display:flex;flex-direction:column;padding:26px 18px 0}.directory-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.17em;color:var(--blue);margin:0 0 9px}h1{font-size:27px;font-weight:500;margin:0;letter-spacing:-.035em}h1 span{font-size:13px;padding:3px 7px;background:#ecf2f5;border-radius:5px;vertical-align:middle;letter-spacing:0;color:#6c8391}.directory-head .button{font-size:12px;padding:9px 12px}.search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:7px;padding:0 11px;background:#f8fafb}.search span{font-size:25px;color:#67818f}.search input{width:100%;background:none;border:0;outline:none;padding:12px 0;font-size:14px}.search+select{width:100%;margin:11px 0 18px;font-size:13px}.directory{overflow:auto;flex:1;padding-bottom:20px}.directory-row{display:flex;width:100%;align-items:center;gap:10px;border:0;background:transparent;padding:13px 10px;text-align:left;border-radius:7px;color:var(--ink);margin:3px 0}.directory-row:hover{background:#f4f7f9}.directory-row.active{background:#eaf2f6}.row-icon{width:29px;height:31px;background:#e7f0f4;color:#49768f;border-radius:5px;display:grid;place-items:center;flex-shrink:0;font-size:14px}.directory-row[data-cat=dine] .row-icon{color:#ae7a48;background:#fbf1e7}.directory-row[data-cat=shop] .row-icon{color:#6d8755;background:#eef3e9}.directory-row strong{font-size:13px;font-weight:600;line-height:1.45;display:block}.directory-row small{font-size:11px;color:var(--muted);display:block;margin-top:4px}.aside-bottom{border-top:1px solid var(--line);padding:17px 5px;font-size:11px;line-height:1.8;color:var(--muted)}.aside-bottom strong{display:block;font-weight:500;color:#486273}.workspace{padding:30px 40px 110px;flex:1;min-width:0;max-width:1160px}.welcome{text-align:center;margin:100px auto;max-width:580px}.welcome-icon{width:64px;height:64px;border-radius:14px;background:#e3edf2;color:#58869d;display:grid;place-items:center;font-size:32px;margin:0 auto 28px}.welcome h2{font-weight:500;font-size:34px;letter-spacing:-.035em;margin:0 0 18px}.welcome p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.8;margin-bottom:28px}.editor-top{display:flex;justify-content:space-between;align-items:start;gap:16px}.editor-top h2{font-size:28px;font-weight:500;letter-spacing:-.03em;line-height:1.2;margin:0 0 10px;overflow-wrap:anywhere}.editor-top .muted{font-size:12px;margin:0}.editor-top .button{font-size:12px}#tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin:24px 0 28px;overflow:auto}#tabs button{border:0;border-bottom:2px solid transparent;padding:13px 0;background:none;color:var(--muted);font-size:13px;white-space:nowrap}#tabs button.active{border-bottom-color:var(--ink);color:var(--ink);font-weight:600}#tabs span{background:#e8eff3;padding:1px 5px;border-radius:4px;font-size:11px;margin-left:3px}.section{background:#fff;border:1px solid #e0e7eb;border-radius:10px;padding:24px;margin-bottom:22px}.section h3{font-size:18px;font-weight:500;letter-spacing:-.02em;margin:0 0 7px}.section p.hint{font-size:13px;line-height:1.65;color:var(--muted);margin:0 0 22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.full{grid-column:1/-1}label.field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:500}.field small{font-size:11px;font-weight:400;color:var(--muted);line-height:1.5}.field .optional{color:#899aa6;font-weight:400}input:not([type=checkbox]):not([type=radio]),textarea,select{border:1px solid #d6e1e7;border-radius:6px;background:#fff;color:var(--ink);font-size:14px;padding:10px 11px;min-width:0;max-width:100%}textarea{resize:vertical;min-height:96px;line-height:1.5}input::placeholder,textarea::placeholder{color:#97a6af;font-weight:400}.field-error{border-color:#b9534c!important}.link-row{display:grid;grid-template-columns:1fr 2fr 32px;gap:10px;align-items:end;margin-bottom:13px}.small-button{padding:8px 11px;font-size:12px}.savebar{position:fixed;bottom:0;left:330px;right:0;background:#ffffffed;backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:17px 40px;display:flex;justify-content:space-between;align-items:center;gap:16px;z-index:5}.savebar>div{display:flex;gap:10px;align-items:center}.savebar>div:first-child{display:block}.savebar span{display:block;font-size:13px;font-weight:600}.savebar small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.error{background:#fff0ed;border:1px solid #f0c6be;color:#9c423b;font-size:14px;line-height:1.6;padding:14px 17px;border-radius:7px;margin-bottom:20px}.upload-zone{background:#f7fafc;border:1px dashed #a7bfce;border-radius:8px;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;cursor:pointer;position:relative}.upload-zone .upload-icon{font-size:27px;color:#587e93}.upload-zone strong{font-weight:500;font-size:15px;margin-top:10px}.upload-zone small{font-size:12px;color:var(--muted);margin-top:8px}.upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:22px}.photo-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white}.photo-card img{width:100%;height:140px;object-fit:cover;display:block}.photo-actions{padding:9px;display:flex;justify-content:space-between;gap:6px;align-items:center;font-size:11px}.photo-actions button{font-size:11px;border:0;background:#edf3f6;color:var(--ink);border-radius:4px;padding:6px}.photo-actions .remove-photo{background:#fbefed;color:#a65047}.cover-badge{font-size:10px;font-weight:600;color:#467587}.day{border-top:1px solid var(--line);padding:17px 0;display:grid;grid-template-columns:110px 130px 1fr;gap:15px;align-items:start}.day:first-of-type{border-top:0}.day-name{font-size:14px;font-weight:500;padding-top:10px}.day select{font-size:12px;padding:10px 7px}.period{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:9px;font-size:12px}.period input[type=time]{width:110px;padding:8px;font-size:13px}.period .overnight{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:11px;color:var(--muted)}.period .icon-btn{font-size:16px;width:26px;height:29px}.link-button{border:0;background:none;color:#397993;font-size:12px;padding:4px 0;text-decoration:underline;text-underline-offset:3px}.day .muted{font-size:12px;margin:9px 0}.hours-footer{border-top:1px solid var(--line);padding-top:17px;margin-top:5px}.schedule-card{border:1px solid var(--line);border-radius:8px;padding:20px;margin-bottom:18px;background:#fbfdfe}.schedule-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.schedule-head h4{font-size:14px;font-weight:500;margin:0}.day-checks{display:flex;gap:7px;flex-wrap:wrap}.day-checks label{position:relative;cursor:pointer}.day-checks input{position:absolute;opacity:0}.day-checks span{display:block;padding:9px 10px;border:1px solid #d8e3e9;border-radius:6px;background:#fff;font-size:12px}.day-checks input:checked+span{color:white;background:#356781;border-color:#356781}.day-checks input:focus-visible+span{outline:3px solid #e4ac70}.check{display:flex;align-items:center;gap:7px;font-size:13px}.location-state{display:flex;align-items:center;gap:12px;background:#f2f7f9;border-radius:8px;padding:18px;margin-bottom:22px}.location-state strong{font-size:15px;font-weight:500}.location-state p{font-size:12px;color:var(--muted);margin:5px 0 0}.location-state>span{font-size:27px;color:#6b8fa1}.location-actions{display:flex;gap:10px;flex-wrap:wrap}.empty-schedules{text-align:center;padding:25px 15px;color:var(--muted);font-size:14px;line-height:1.6}.inline-status{font-size:12px;color:#597b91;margin-top:12px;min-height:15px}dialog{border:0;border-radius:12px;padding:28px;color:var(--ink);width:min(490px,calc(100vw - 32px));box-shadow:0 20px 100px #19324544}dialog::backdrop{background:#122b3c80;backdrop-filter:blur(3px)}dialog h2{font-size:23px;font-weight:500;margin:0 0 14px;letter-spacing:-.025em}dialog p{font-size:14px;line-height:1.7;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.dialog-title{display:flex;justify-content:space-between;align-items:start}.dialog-title button{font-size:25px;background:none;border:0;padding:0 7px;color:var(--muted)}#mapPicker{width:min(760px,calc(100vw - 32px));max-height:90dvh}#pickerCanvas{width:100%;height:45dvh;border:1px solid #c6d8e2;border-radius:7px;display:block;background:#eaf2f5;cursor:crosshair}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:#15394d;color:white;font-size:14px;padding:13px 20px;border-radius:8px;box-shadow:0 6px 24px #17314225;z-index:20}
@media(max-width:1100px){aside{width:285px}.workspace{padding:26px 25px 110px}.savebar{left:285px;padding:17px 25px}.day{grid-template-columns:86px 115px 1fr;gap:10px}.day select{max-width:115px}.photos{grid-template-columns:repeat(2,minmax(0,1fr))}#tabs{gap:17px}.form-grid{gap:17px}}
@media(max-width:850px){.day{grid-template-columns:1fr 1fr}.periods{grid-column:1/-1}.day-name{padding-top:8px}.form-grid{grid-template-columns:1fr}.section{padding:20px}.link-row{grid-template-columns:1fr 32px}.link-row .field:first-child{grid-column:1/-1}.header-actions .private{display:none}.savebar small{display:none}}
@media(max-width:650px){header{height:70px;padding:0 16px}.brand{font-size:27px;gap:12px}.brand>span{font-size:12px;letter-spacing:.08em}.brand small{font-size:9px}.header-actions .button{font-size:11px;padding:9px}main{display:block}aside{position:relative;width:100%;height:auto;padding:18px 16px 0;border-right:0}.directory-head{margin-bottom:14px}.directory{max-height:195px;border-top:1px solid var(--line);margin:0 -4px}.directory-row{padding:9px}.directory-row strong{font-size:13px}.search+select{margin-bottom:12px}.aside-bottom{display:none}.workspace{padding:23px 16px 120px}.welcome{margin:55px auto}.welcome h2{font-size:29px}.editor-top h2{font-size:24px}.editor-top .button{font-size:11px;padding:8px}.savebar{left:0;padding:12px 16px}.savebar .button{font-size:12px;padding:10px 12px}.savebar span{font-size:11px}#tabs{gap:19px;margin-top:17px}#tabs button{font-size:12px}.section{padding:20px 16px}.photo-card img{height:120px}.period input[type=time]{width:103px}input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px}.schedule-card{padding:16px 12px}.day-checks{gap:5px}.day-checks span{padding:9px 8px}.dialog-actions{flex-wrap:wrap}}

@media(max-width:650px){header{height:auto;min-height:100px;flex-wrap:wrap;padding-top:14px;padding-bottom:12px;gap:12px}.header-actions{width:100%;gap:9px;flex-wrap:wrap}.header-actions .button{font-size:12px}main{min-height:calc(100dvh - 110px)}}

.dashboard-sections{display:flex;gap:7px;padding:11px 30px;background:white;border-bottom:1px solid var(--line)}.dashboard-sections a{font-size:14px;text-decoration:none;padding:9px 13px;border-radius:6px}.dashboard-sections a[aria-current]{background:var(--ink);color:white}.dashboard-sections a:hover:not([aria-current]){background:#eef3f6}main{min-height:calc(100dvh - 148px)}aside{height:calc(100dvh - 148px)}@media(max-width:650px){.dashboard-sections{padding:10px 16px}aside{height:auto}}
