:root{font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif;color:#292725;background:#fff9f3;font-size:15px}*{box-sizing:border-box}body{margin:0}header{height:82px;background:#fff;border-bottom:1px solid #e9dfd6;padding:0 4vw;display:flex;align-items:center;gap:30px}.brand{font-family:Georgia,serif;font-size:28px;font-weight:800;color:#292725;text-decoration:none}.brand span{color:#bc5940}header button{margin-left:auto}main{max-width:1440px;margin:auto;padding:28px 4vw 60px}footer{text-align:center;padding:28px;color:#746b64}button,.button{font:inherit;background:#bc5940;color:white;border:0;border-radius:9px;padding:11px 18px;cursor:pointer;text-decoration:none;display:inline-block}button.secondary{background:#f7ece2;color:#292725}button:disabled{opacity:.5;cursor:wait}input,textarea,select{font:inherit;display:block;width:100%;margin:7px 0 16px;border:1px solid #ddcfc2;border-radius:8px;padding:12px;background:white;color:#292725}textarea{min-height:100px}input[readonly]{background:#f5f2ef}label{display:block;font-size:14px;font-weight:600}h1{font-size:28px;margin:0 0 10px}h2{font-size:21px;margin:0 0 18px}h3{font-size:16px}.muted{color:#756c64;line-height:1.7}.card{background:#fff;border:1px solid #e8ddd4;border-radius:16px;padding:24px;margin-bottom:20px}.login{max-width:480px;margin:42px auto}.layout{display:grid;grid-template-columns:225px 1fr;gap:26px}nav{position:sticky;top:20px;align-self:start}nav button{display:block;width:100%;text-align:left;margin-bottom:6px;background:transparent;color:#564c44}nav button.active{background:#bc5940;color:#fff}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.stats{display:flex;gap:15px;margin:22px 0}.stat{flex:1;background:#fff;border:1px solid #e8ddd4;padding:20px;border-radius:14px}.stat strong{display:block;font-size:30px;color:#bc5940}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:15px 10px;border-bottom:1px solid #eee4db;white-space:nowrap}th{font-size:12px;color:#756c64}.pill{font-size:12px;padding:5px 9px;border-radius:20px;background:#fff0e5}.row{display:flex;gap:10px;align-items:center;justify-content:space-between}.row h2{margin:0}.actions{display:flex;gap:10px;flex-wrap:wrap}#status{margin:0;padding:0 4vw;line-height:2.5;background:#f9e9dc}#status:empty{display:none}.error{color:#a32922}.success{color:#226743}details{border-top:1px solid #eee4db;padding-top:16px;margin-top:18px}summary{cursor:pointer;font-weight:600;margin-bottom:15px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.record{border:1px solid #e5d8ca;border-radius:12px;padding:18px;margin:15px 0}.record>button{background:#f7ece2;color:#292725}.qr svg{max-width:200px;height:auto}.note{border-left:3px solid #bc5940;padding-left:15px;color:#756c64;line-height:1.7}a{color:#a3432d}.empty{padding:30px;text-align:center;color:#756c64}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ef9c72;outline-offset:3px}@media(max-width:850px){.layout{grid-template-columns:1fr}nav{position:static;display:flex;overflow:auto;gap:6px}nav button{white-space:nowrap;width:auto}.grid,.fields{grid-template-columns:1fr}.stats{flex-wrap:wrap}.stat{min-width:130px}main{padding:22px 16px}header{padding:0 16px;gap:15px}.brand{font-size:22px}h1{font-size:24px}.card{padding:20px}header #mode-label{font-size:12px}}

[hidden]{display:none!important}

dialog{width:min(700px,95vw);max-height:90vh;overflow:auto}dialog::backdrop{background:#29272580}

/* Operational layout: company summary and tables, aligned with TENPO ONE. */
:root{background:#f6f7f9;color:#1e293b}header{height:64px;padding:0 28px;border-color:#e2e8f0}header #mode-label{font-size:13px;color:#64748b}main{max-width:1600px;padding:24px 28px 60px}.layout{grid-template-columns:210px minmax(0,1fr);gap:28px}.layout>section{min-width:0}nav{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px;top:16px}nav button{border-radius:6px;padding:10px 12px;font-size:14px;color:#475569}nav button.active{background:#1e293b;color:white}.card{border-color:#e2e8f0;border-radius:10px;padding:24px;box-shadow:0 1px 2px #0f172a05}h1{font-size:25px}h2{font-size:18px}.muted{color:#64748b}.pill{background:#f1f5f9;color:#475569;font-size:12px}button.secondary{background:#f1f5f9;color:#334155}.stat{border-color:#e2e8f0;border-radius:10px}th{background:#f8fafc;color:#64748b;font-size:12px}th,td{border-color:#e2e8f0;padding:14px 16px}td{font-size:14px}td small{display:block;color:#64748b;font-size:12px;margin-top:6px}.table-wrap{margin:0 -4px}.section-heading,.company-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-heading{margin-bottom:18px}.section-heading h2,.company-heading h2{margin:0}.company-heading{margin:22px 0}.company-heading h2{font-size:27px}.company-heading p{margin-bottom:0}.back-link{display:inline-block;font-size:13px;margin-top:8px}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}.summary-grid dt{color:#64748b;font-size:12px;margin-bottom:8px}.summary-grid dd{margin:0;font-size:14px;font-weight:600}.empty{color:#64748b}footer{font-size:12px;color:#94a3b8}@media(max-width:850px){header{padding:0 16px}main{padding:20px 16px}.layout{grid-template-columns:1fr;gap:16px}nav{position:static;padding:8px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{flex-wrap:wrap}.section-heading button{font-size:13px}.company-heading h2{font-size:22px}}@media(max-width:420px){.summary-grid{grid-template-columns:1fr}.card{padding:18px}.section-heading{align-items:flex-start}header{gap:10px}.brand{font-size:20px}}
/* Top navigation requested to match TENPO ONE's horizontal management bar. */
.layout{grid-template-columns:minmax(0,1fr);gap:24px}
.layout>nav{position:static;display:flex;align-items:center;gap:4px;overflow-x:auto;white-space:nowrap;padding:0 12px;border-radius:0;border:0;border-bottom:1px solid #dbe1e8;background:#fff;scrollbar-width:thin}
.layout>nav button{flex:0 0 auto;display:block;width:auto;margin:0;padding:16px 14px;border-radius:0;border-bottom:3px solid transparent;color:#64748b;background:transparent;font-size:14px}
.layout>nav button.active{background:#1e293b;color:#fff;border-bottom-color:#1e293b;font-weight:700}
body:has(.layout) main{padding-top:0}
body:has(.layout) .layout>nav{margin:0 -28px;padding-left:28px;padding-right:28px}
@media(max-width:850px){body:has(.layout) .layout>nav{margin:0 -16px;padding-left:16px;padding-right:16px}.layout>nav button{padding:14px 12px;font-size:13px}}

#operator-label{margin-left:auto;color:#64748b;font-size:14px;font-weight:500;white-space:nowrap}header .logout-icon{margin-left:0;background:transparent;color:#64748b;padding:9px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px}header .logout-icon:hover{background:#f1f5f9;color:#1e293b}header:has(#operator-label[hidden]) .logout-icon{margin-left:auto}@media(max-width:550px){#operator-label{font-size:12px}header #mode-label{display:none}}

.button.secondary{background:#f1f5f9;color:#334155;font-size:13px;padding:8px 12px}

/* Shop portal: left menu and right workspace. */
.layout.owner-layout{grid-template-columns:230px minmax(0,1fr);gap:28px;padding-top:24px}
body:has(.owner-layout) .layout.owner-layout>nav{position:sticky;top:20px;display:flex;flex-direction:column;align-items:stretch;margin:0;padding:12px;border:1px solid #e2e8f0;border-radius:10px;white-space:normal;overflow:visible}
.layout.owner-layout>nav button{width:100%;text-align:left;padding:14px 12px;border:0;border-radius:6px;white-space:normal}
.layout.owner-layout>nav button.active{background:#1e293b;color:#fff}
@media(max-width:850px){.layout.owner-layout{grid-template-columns:180px minmax(0,1fr);gap:16px}.owner-layout .row{flex-wrap:wrap}}
@media(max-width:600px){.layout.owner-layout{grid-template-columns:minmax(0,1fr)}body:has(.owner-layout) .layout.owner-layout>nav{position:static;flex-direction:row;overflow-x:auto;white-space:nowrap;padding:6px}.layout.owner-layout>nav button{width:auto;white-space:nowrap;flex:0 0 auto;padding:12px}}

@media(min-width:851px){.layout.owner-layout{grid-template-columns:minmax(210px,22%) minmax(0,1fr);gap:24px}}
body:has(.owner-layout) .layout.owner-layout>nav{max-height:calc(100vh - 40px);overflow-y:auto}.owner-layout [data-editor]{margin-top:0;border-top:0}.owner-layout nav button{border-bottom:1px solid #f1f5f9!important}.owner-layout #panel .card>h2{padding-bottom:16px;border-bottom:1px solid #e2e8f0}
/* Control Centre top bars only: navy-black. */
body:has(.control-layout) header{background:#141820;border-bottom-color:#2b3340}
body:has(.control-layout) header .brand{color:#fff}
body:has(.control-layout) header #mode-label,body:has(.control-layout) #operator-label,body:has(.control-layout) header .logout-icon{color:#cbd5e1}
body:has(.control-layout) header .logout-icon:hover{background:#2b3340;color:#fff}
body:has(.control-layout) .layout.control-layout>nav{background:#141820;border-bottom-color:#2b3340}
.layout.control-layout>nav button{color:#aeb8c7}
.layout.control-layout>nav button:hover{background:#232b38;color:#fff}
.layout.control-layout>nav button.active{background:#232b38;color:#fff;border-bottom-color:#bc5940}
/* Compact shop navigation. */
@media(min-width:851px){.layout.owner-layout{grid-template-columns:190px minmax(0,1fr);gap:20px}}
body:has(.owner-layout) .layout.owner-layout>nav{padding:6px}
.layout.owner-layout>nav button{padding:9px 10px;font-size:13px;line-height:1.4;border-radius:4px}
@media(min-width:601px) and (max-width:850px){.layout.owner-layout{grid-template-columns:165px minmax(0,1fr);gap:14px}}

.nav-group-label{font-size:11px;letter-spacing:.04em;color:#94a3b8;padding:15px 10px 7px;font-weight:700}.owner-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.owner-dashboard>.card{margin:0}.completion-score{font-size:32px;color:#bc5940}progress{display:block;width:100%;height:12px;margin:14px 0;accent-color:#bc5940}.completion-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.completion-list button{text-align:left;font-size:13px}.access-chart{display:flex;height:190px;gap:3px;align-items:flex-end;overflow:auto;padding-bottom:15px}.access-chart>div{flex:1;min-width:14px;text-align:center}.access-chart span{display:block;background:#bc5940;border-radius:3px 3px 0 0}.access-chart small{font-size:10px;color:#64748b}.owner-layout .stats{flex-wrap:wrap}.owner-layout .stat{min-width:130px}.owner-layout .stat small{font-size:11px;color:#64748b}@media(max-width:1050px){.owner-dashboard{grid-template-columns:1fr}}

/* Nested owner navigation, arranged from the signed-in reference. */
body:has(.owner-layout) .layout.owner-layout>nav{background:#333;color:#ddd;border:0;border-radius:0;padding:0;max-height:calc(100vh - 24px)}
.owner-layout .owner-menu-group{padding:0;margin:0;border:0;border-radius:0;background:transparent}
.owner-layout .owner-menu-group>summary{padding:13px 14px;color:#fff;font-size:14px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.owner-layout .owner-menu-group>summary:after{content:'▾';font-size:11px;color:#aaa}
.owner-layout .owner-menu-group[open]>summary:after{content:'▴'}
.owner-layout .owner-menu-group .owner-menu-group{background:#292929}
.owner-layout .owner-menu-group .owner-menu-group>summary{padding-left:28px;font-size:13px;font-weight:400}
.layout.owner-layout>nav button,.layout.owner-layout>nav details button{color:#ddd;background:transparent;border-radius:0;border:0!important;padding:11px 14px;font-weight:400;font-size:13px;line-height:1.5}
.layout.owner-layout>nav details button{padding-left:29px}
.layout.owner-layout>nav details details button{padding-left:39px;font-size:12px}
.layout.owner-layout>nav button:hover,.owner-layout .owner-menu-group>summary:hover{background:#242424;color:#fff}
.layout.owner-layout>nav button.active{background:#151515;color:#fff;box-shadow:inset 3px 0 #bc5940;font-weight:700}
.owner-menu-divider{border-top:1px solid #555;margin:15px 14px}
@media(min-width:851px){.layout.owner-layout{grid-template-columns:225px minmax(0,1fr)}}
@media(max-width:600px){body:has(.owner-layout) .layout.owner-layout>nav{display:block;max-height:280px;overflow-y:auto}.owner-layout>nav .owner-menu-group{display:block}.layout.owner-layout>nav button{width:100%;white-space:normal}}

.photo-upload-box{padding:22px;margin:16px 0 24px;border:2px dashed #d7b1a4;background:#fff8f3;border-radius:8px}.photo-upload-box h3{margin-top:0}.photo-file-label{display:block;max-width:420px;font-weight:700;color:#a84632}.photo-file-label input{margin-top:12px;background:white}.record-thumbnail{width:180px;height:120px;object-fit:cover;border-radius:6px;margin-bottom:12px}

.main-photo-preview{border:2px dotted #bc5940;margin:18px 0 24px;padding:10px}.main-photo-edit{display:block;width:100%;border-radius:0;padding:10px;background:#bc5940;color:white;font-weight:700}.main-photo-stage{position:relative;aspect-ratio:1.8;background:#f5ede6;display:grid;place-items:center;margin-top:12px;overflow:hidden}.main-photo-stage img{width:100%;height:100%;object-fit:cover;position:absolute}.main-photo-thumbs{display:flex;gap:7px;margin-top:10px;overflow:auto}.main-photo-thumbs button{flex:1;min-width:55px;height:65px;padding:0;background:transparent;border:2px solid transparent;border-radius:0}.main-photo-thumbs button:focus{border-color:#bc5940}.main-photo-thumbs img{width:100%;height:100%;object-fit:cover}.basic-photo-mode>summary{display:none}.basic-photo-mode:not(.editing-main-photos) #records-photos,.basic-photo-mode:not(.editing-main-photos)>[data-add]{display:none}.main-photo-editor:not(.basic-photo-mode) .main-photo-preview{display:none}@media(max-width:600px){.main-photo-thumbs button{min-width:54px;height:48px}.main-photo-stage{aspect-ratio:4/3}}

#records-highlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start;margin:22px 0}#records-highlights .highlight-card{padding:10px;background:#f3f3f3;border:1px solid #d8d8d8;border-radius:0;margin:0;min-width:0}#records-highlights .record-thumbnail{display:none}.highlight-card-preview{background:white;border:1px solid #ddd;min-height:260px}.highlight-card-preview img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.highlight-card-preview h3{font-size:15px!important;margin:0!important;padding:14px;line-height:1.6;font-weight:500}.highlight-card-preview p{font-size:12px;padding:0 14px 14px;margin:0;line-height:1.6}.highlight-card-status{background:#bc5940;color:white;text-align:center;font-weight:700;padding:8px;margin:14px 0}.highlight-card>.secondary{width:100%;padding:14px;background:white;color:#a3432d;border:1px solid #ccc;border-radius:4px}.highlight-edit-fields{padding-top:15px}.highlight-edit-fields .fields{display:block}.highlight-edit-fields label{font-size:12px}.highlight-edit-fields .actions{display:flex;flex-wrap:wrap;gap:5px}.highlight-edit-fields button{font-size:12px;padding:8px}@media(max-width:1100px){#records-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){#records-highlights{grid-template-columns:1fr}}

/* Fluid management workspace and screen-sized shop preview. */
main{width:100%;max-width:none}
.layout,.layout>section,.card,.record,.fields>*{min-width:0}
dialog.shop-preview{box-sizing:border-box;width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:0;overflow:auto}
.restaurant-preview{width:100%;min-width:0}
.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px}
@media(max-width:600px){header{height:auto;min-height:64px;flex-wrap:wrap;padding-block:10px;gap:10px}main{padding-inline:12px}.row,.company-heading{flex-wrap:wrap}.actions>*{max-width:100%;white-space:normal}.fields{grid-template-columns:minmax(0,1fr)}dialog.shop-preview{width:100vw;max-width:100vw;max-height:100dvh;border-radius:0}.card{padding:14px}.stats{flex-wrap:wrap}}
.main-photo-editor .photo-editor-tools{display:none}.main-photo-editor.editing-main-photos .photo-editor-tools{display:block;margin-bottom:20px}.main-photo-editor.editing-main-photos .main-photo-preview{display:none}.main-photo-editor.editing-main-photos #records-photos{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.main-photo-editor.editing-main-photos .photo-card{min-width:0;padding:10px;margin:0;background:#f7f7f7;border-radius:6px}.photo-card>img{display:block;width:100%!important;max-width:100%!important;height:120px!important;object-fit:cover;margin:8px 0}.photo-card .actions{gap:4px}.photo-card button{padding:7px 8px;font-size:12px}.photo-card-fields .fields{display:block}.photo-selected{outline:3px solid #bc5940}.photo-card-fields[hidden]{display:none!important}.photo-editor-tools .actions{margin:16px 0}@media(max-width:1100px){.main-photo-editor.editing-main-photos #records-photos{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.main-photo-editor.editing-main-photos #records-photos{grid-template-columns:repeat(2,minmax(0,1fr))}}

.owner-menu-group[data-menu-group="sites"]>summary{background:linear-gradient(#fff8e6,#ffdc7d);color:#302b23;font-weight:700}.owner-menu-group[data-menu-group="sites"]>button{background:#fff;color:#302b23;border-bottom:1px solid #dfd5bd;text-align:left;padding:12px 14px}

/* Photo picker for seats, courses, menus, highlights, news and pages */
.photo-pick{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:6px 0 12px;padding:12px;border:1px dashed #d7b1a4;border-radius:10px;background:#fffaf6}
.photo-pick-thumb{width:120px;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#f1ebe6;display:grid;place-items:center;font-size:12px;color:#8a7f77;flex-shrink:0}
.photo-pick-thumb img{width:100%;height:100%;object-fit:cover}
.photo-pick-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.photo-pick .link-button{background:none;border:0;color:#a3432d;text-decoration:underline;padding:4px;font-size:13px}
.photo-picker{width:min(860px,94vw);max-height:88vh;overflow:auto}
.photo-picker::backdrop{background:#0008}
.photo-picker-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.photo-picker-head h2{margin:0}
.photo-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:14px}
.photo-picker-grid button{display:block;padding:0;background:#fff;border:2px solid #e8ddd4;border-radius:10px;overflow:hidden;text-align:left;color:#292725;cursor:pointer}
.photo-picker-grid button:hover{border-color:#bc5940}
.photo-picker-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.photo-picker-grid span{display:block;padding:6px 8px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Owner sidebar: Tabelog structure + HotPepper items */
.owner-ic{flex-shrink:0;color:#8fc3ea;margin-right:8px;vertical-align:-3px}
.owner-menu-group>summary{justify-content:flex-start}
.owner-menu-group>summary:after{margin-left:auto}
[data-page]{display:flex;align-items:center}
.owner-menu-group[data-menu-group="sites"]>summary{background:transparent;color:#fff;font-weight:600}
.owner-menu-group[data-menu-group="sites"]>button{background:transparent;color:#ddd;border-bottom:0;padding:11px 14px 11px 28px}
.owner-menu-group .owner-menu-group .owner-menu-group>summary,.owner-menu-group .owner-menu-group button{padding-left:42px}

/* Drag to reorder photos (mouse anywhere on the card, touch via handle) */
.photo-card{position:relative;cursor:grab}
.photo-card img{user-select:none;-webkit-user-drag:none;pointer-events:none}
.photo-drag-handle{position:absolute;top:10px;left:10px;z-index:2;width:36px;height:36px;padding:0;border-radius:8px;background:#000000a8;color:#fff;font-size:20px;line-height:1;cursor:grab;touch-action:none}
.photo-dragging{opacity:.3;outline:3px dashed #bc5940;outline-offset:2px}
.photo-ghost{position:fixed;left:0;top:0;z-index:9999;margin:0;pointer-events:none;opacity:.92;box-shadow:0 18px 40px #0005;cursor:grabbing}
body.photo-sorting,body.photo-sorting *{cursor:grabbing!important;user-select:none}

.photo-card .move-up,.photo-card .move-down{display:none!important}

/* Photo card actions: one small row, delete on the far right */
.photo-card-actions{display:flex;align-items:center;gap:6px;margin-top:10px}
.photo-card-actions button{min-height:0;padding:6px 10px;font-size:12px;line-height:1.2;border-radius:6px;white-space:nowrap;margin:0}
.photo-card-actions .remove-record{margin-left:auto}
/* 管理画面: simple white buttons on photo cards */
.photo-card-actions button,.photo-card-actions button.secondary{background:#fff!important;color:#3a3633!important;border:1px solid #d9d4cf!important;box-shadow:none!important;font-weight:500}
.photo-card-actions button:hover{background:#f6f4f2!important}
.photo-card-actions .remove-record{color:#c0392b!important;border-color:#ecc9c4!important}
.photo-card-actions .photo-select[aria-pressed=true]{background:#3a3633!important;color:#fff!important;border-color:#3a3633!important}
.photo-card .photo-drag-handle{background:#fff!important;color:#3a3633!important;border:1px solid #d9d4cf!important}

/* ===== Owner sidebar v3: HotPepper-style list, TABLE ONE colour, Apple-clean type ===== */
.owner-layout>nav{--t1c:#b35c45;background:var(--t1c)!important;padding:8px 8px 10px!important;border-radius:14px;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased;align-self:start}
.owner-layout>nav .owner-menu-divider{display:none}
.owner-layout>nav .owner-menu-group{background:transparent!important;margin:0!important}
.owner-layout>nav [data-page]{display:flex!important;align-items:center;gap:0;width:100%;min-height:0;margin:0 0 2px!important;padding:11px 12px!important;background:#fff!important;color:#1d1d1f!important;border:0!important;border-radius:4px!important;box-shadow:none!important;font-size:14px!important;font-weight:400!important;letter-spacing:.01em;text-align:left;line-height:1.45}
.owner-layout>nav [data-page]::after{content:"›";margin-left:auto;padding-left:10px;color:var(--t1c);font-size:20px;font-weight:600;line-height:1}
.owner-layout>nav [data-page]:hover{background:#fbf5f2!important}
.owner-layout>nav [data-page].active{background:#fff3ee!important;color:var(--t1c)!important;font-weight:700!important;box-shadow:inset 3px 0 0 var(--t1c)!important}
.owner-layout>nav>[data-page] .owner-ic{color:var(--t1c)}
/* Section headers (レポート / ページ編集 …) */
.owner-layout>nav>.owner-menu-group>summary{display:flex!important;align-items:center;padding:14px 6px 8px!important;background:transparent!important;color:#fff!important;font-size:16px!important;font-weight:700!important;letter-spacing:.02em;border:0!important}
.owner-layout>nav>.owner-menu-group>summary .owner-ic{color:#fff!important}
.owner-layout>nav>.owner-menu-group>summary:after{content:"▾";margin-left:auto;color:#ffffffb3;font-size:12px}
.owner-layout>nav>.owner-menu-group:not([open])>summary:after{content:"▸"}
.owner-layout>nav>.owner-menu-group>summary:hover{background:transparent!important;opacity:.9}
/* Sub-section titles (店舗トップ / コース …) like 店舗ページTOP */
.owner-layout>nav .owner-menu-group .owner-menu-group>summary{display:flex!important;align-items:center;margin:0 0 2px!important;padding:11px 12px!important;background:#fff!important;color:#1d1d1f!important;font-size:14px!important;font-weight:700!important;border:0!important;border-radius:4px}
.owner-layout>nav .owner-menu-group .owner-menu-group>summary:after{content:"▾";margin-left:auto;color:#b9b2ad;font-size:11px}
/* Child items with └ */
.owner-layout>nav .owner-menu-group [data-page]::before{content:"└";color:#c8b8b1;margin-right:8px;font-size:12px}
.owner-layout>nav .owner-menu-group .owner-menu-group [data-page]{padding-left:22px!important}

@media(min-width:900px){.owner-layout{grid-template-columns:268px minmax(0,1fr)!important}}
.owner-layout>nav [data-page],.owner-layout>nav summary{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.owner-layout>nav [data-page],.owner-layout>nav summary{white-space:nowrap!important}
/* Sidebar: smaller one-line labels at every window width */
.owner-layout>nav [data-page]{font-size:13px!important;white-space:nowrap!important;padding-top:10px!important;padding-bottom:10px!important}
.owner-layout>nav .owner-menu-group .owner-menu-group>summary{font-size:13px!important;white-space:nowrap!important}
.owner-layout>nav>.owner-menu-group>summary{font-size:15px!important}
.owner-layout>nav [data-page]::before{font-size:11px;margin-right:6px}
.owner-layout>nav{min-width:250px}
@media(max-width:899px){.owner-layout>nav [data-page]{font-size:12.5px!important}}
/* Sub-section titles: no white box, bold white text on the terracotta frame */
.owner-layout>nav .owner-menu-group .owner-menu-group>summary{background:transparent!important;color:#fff!important;font-weight:700!important;padding:10px 6px 6px 10px!important;margin:0!important;border-radius:0!important}
.owner-layout>nav .owner-menu-group .owner-menu-group>summary:after{color:#ffffffa6!important}
.owner-layout>nav [data-page].active{font-weight:400!important}
/* Sidebar items: no white boxes — plain text rows on the terracotta frame */
.owner-layout>nav [data-page]{background:transparent!important;color:#fff!important;border-radius:6px!important;margin:0!important;border-bottom:1px solid #ffffff1f!important}
.owner-layout>nav [data-page]::after{color:#ffffffb3!important}
.owner-layout>nav [data-page]::before{color:#ffffff73!important}
.owner-layout>nav>[data-page] .owner-ic{color:#fff!important}
.owner-layout>nav [data-page]:hover{background:#ffffff1a!important}
.owner-layout>nav [data-page].active{background:#ffffff2e!important;color:#fff!important;box-shadow:inset 3px 0 0 #fff!important}
/* Sidebar v4: Control Centre navy, white premium type, terracotta accent */
.owner-layout>nav{background:#161a22!important;border:1px solid #232834;font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN",-apple-system,BlinkMacSystemFont,"Noto Sans JP",sans-serif!important;letter-spacing:.04em}
.owner-layout>nav [data-page]{color:#e9ebef!important;font-weight:300!important;border-bottom:1px solid #ffffff0f!important}
.owner-layout>nav [data-page]::after{color:#6b7280!important;font-weight:400}
.owner-layout>nav [data-page]::before{color:#4b5260!important}
.owner-layout>nav>[data-page] .owner-ic,.owner-layout>nav>.owner-menu-group>summary .owner-ic{color:#b35c45!important}
.owner-layout>nav [data-page]:hover{background:#ffffff0d!important}
.owner-layout>nav [data-page].active{background:#232834!important;color:#fff!important;box-shadow:inset 3px 0 0 #b35c45!important}
.owner-layout>nav [data-page].active::after{color:#b35c45!important}
.owner-layout>nav>.owner-menu-group>summary{color:#fff!important;font-weight:600!important;letter-spacing:.06em}
.owner-layout>nav .owner-menu-group .owner-menu-group>summary{color:#c7cbd3!important;font-weight:600!important}
.owner-layout>nav summary:after{color:#6b7280!important}
/* Tighter spacing between main and sub headings */
.owner-layout>nav>.owner-menu-group>summary{padding:12px 8px 4px!important}
.owner-layout>nav .owner-menu-group .owner-menu-group>summary{padding:6px 8px 4px 12px!important}
.owner-layout>nav .owner-menu-group>summary+*{margin-top:0!important}
/* Bigger open/close chevrons */
.owner-layout>nav summary:after{content:""!important;width:8px;height:8px;margin-left:auto;margin-right:6px;border-right:2px solid #9aa1ad;border-bottom:2px solid #9aa1ad;transform:translateY(-2px) rotate(45deg);transition:transform .15s;font-size:0!important}
.owner-layout>nav details:not([open])>summary:after{transform:rotate(-45deg)}
.owner-layout>nav .owner-menu-group .owner-menu-group>summary:after{width:7px;height:7px}
/* Sidebar v5: 食べログ-style tree — triangles, indented plain items, no └ / › */
.owner-layout>nav{padding:6px 0 10px!important;border-radius:10px;letter-spacing:.03em}
.owner-layout>nav [data-page]{font-size:14.5px!important;font-weight:400!important;border-bottom:0!important;border-radius:0!important;padding:12px 16px 12px 52px!important;color:#e6e8ec!important}
.owner-layout>nav>[data-page]{padding-left:16px!important}
.owner-layout>nav [data-page]::before,.owner-layout>nav [data-page]::after{content:none!important;display:none!important}
.owner-layout>nav .owner-menu-group .owner-menu-group [data-page]{padding-left:68px!important;font-size:14px!important;color:#c9ccd3!important}
/* Main headings */
.owner-layout>nav>.owner-menu-group>summary{font-size:15.5px!important;font-weight:600!important;padding:13px 16px!important;margin:0!important;border-radius:0!important}
.owner-layout>nav>.owner-menu-group[open]>summary{background:#1f2430!important}
.owner-layout>nav>.owner-menu-group[open]{background:#1a1e27!important}
.owner-layout>nav>.owner-menu-group+.owner-menu-group,.owner-layout>nav>[data-page]+.owner-menu-group{border-top:1px solid #ffffff0d}
/* Sub headings look like items, with a triangle */
.owner-layout>nav .owner-menu-group .owner-menu-group>summary{font-size:14.5px!important;font-weight:400!important;color:#e6e8ec!important;padding:12px 16px 12px 52px!important}
/* Filled triangles */
.owner-layout>nav summary:after{content:""!important;width:0!important;height:0!important;margin-left:auto;margin-right:2px;border:0!important;border-left:6px solid transparent!important;border-right:6px solid transparent!important;border-top:7px solid #e6e8ec!important;transform:none!important}
.owner-layout>nav details[open]>summary:after{border-top:0!important;border-bottom:7px solid #e6e8ec!important}
.owner-layout>nav [data-page].active{background:#2a3040!important;box-shadow:inset 3px 0 0 #b35c45!important}

/* ===== コースの編集 (食べログ layout, TABLE ONE colours) ===== */
.course-title-bar{background:#161a22;color:#fff;font-weight:700;font-size:20px;letter-spacing:.04em;padding:16px 22px;border-radius:10px 10px 0 0;margin:-4px 0 18px}
.course-notice{border:1px solid #e9c9bd;background:#fdf6f3;color:#9a4a36;border-radius:8px;padding:12px 16px;font-size:14px;margin:0 0 20px}
.course-list-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.course-list-head h3{margin:0;padding-left:12px;border-left:5px solid #161a22;font-size:18px}
.course-new{background:#b35c45!important;color:#fff!important;border:0!important;border-radius:8px!important;padding:11px 18px!important;font-weight:700}
.course-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #dcdfe4;margin-bottom:6px}
.course-tabs button{background:#f5f6f8!important;color:#5b6270!important;border:1px solid #dcdfe4!important;border-bottom:0!important;border-radius:0!important;padding:14px!important;font-size:15px;font-weight:400;box-shadow:none!important}
.course-tabs button.active{background:#fff!important;color:#161a22!important;font-weight:700;border-top:3px solid #161a22!important}
.course-help{font-size:13px;margin:10px 0 4px}
.course-row{position:relative;border:0!important;border-bottom:1px dashed #d5d8de!important;border-radius:0!important;padding:18px 6px 18px 46px!important;margin:0!important;background:#fff!important;box-shadow:none!important}
.course-row>.photo-drag-handle{position:absolute;left:4px;top:22px;width:30px;height:30px;padding:0;border-radius:6px;background:#fff!important;color:#7a808b!important;border:1px solid #dcdfe4!important;font-size:16px;cursor:grab;touch-action:none}
.course-view{display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:18px;align-items:start}
.course-thumb{width:140px;aspect-ratio:1;border-radius:4px;overflow:hidden;background:#f1f2f4;display:grid;place-items:center;font-size:12px;color:#8a909b}
.course-thumb img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.course-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.badge{display:inline-block;font-size:12.5px;line-height:1;padding:6px 9px;border-radius:3px}
.badge-live{background:#161a22;color:#fff}.badge-off{background:#9aa0a9;color:#fff}
.badge-outline{border:1px solid #d9a99b;color:#b35c45;background:#fff}
.course-name{font-size:17px;line-height:1.6;margin:0 0 6px;font-weight:700;color:#1d1d1f}
.course-price{margin:0 0 4px;font-size:15px;color:#2e3440}
.course-stay{margin:0;font-size:14px;color:#6b7280}
.course-links{display:flex;gap:8px;align-items:center;white-space:nowrap;color:#c3c7ce}
.course-links .link-button{background:none!important;border:0!important;color:#b35c45!important;padding:4px!important;font-size:14.5px;box-shadow:none!important}
.course-edit{margin-top:16px;padding:16px;border:1px solid #e3e5e9;border-radius:10px;background:#fafbfc}
.course-edit .move-up,.course-edit .move-down{display:none!important}
.course-row.photo-dragging{opacity:.35}
@media(max-width:700px){.course-view{grid-template-columns:90px minmax(0,1fr)}.course-thumb{width:90px}.course-links{grid-column:1/-1;justify-content:flex-end}.course-row{padding-left:40px!important}}

/* コース入力 form (食べログ table layout) */
.course-edit{padding:0!important;background:#fff!important;overflow:hidden}
.cf-table{display:block}
.cf-section{background:#161a22;color:#fff;font-weight:700;font-size:15px;padding:11px 16px;letter-spacing:.04em}
.cf-row{display:grid;grid-template-columns:200px minmax(0,1fr);border-bottom:1px solid #e6e8ec}
.cf-th{background:#f6f7f9;padding:16px;font-size:14px;font-weight:600;color:#2e3440;display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}
.cf-req{background:#b35c45;color:#fff;font-size:11px;font-weight:700;border-radius:3px;padding:3px 6px;line-height:1}
.cf-td{padding:14px 16px;min-width:0}
.cf-td input:not([type=file]),.cf-td textarea{width:100%;box-sizing:border-box;border:1px solid #cfd3da;border-radius:6px;padding:10px 12px;font-size:15px;background:#fff}
.cf-td textarea{min-height:110px}
.cf-td input:focus,.cf-td textarea:focus{outline:2px solid #b35c4555;border-color:#b35c45}
.cf-note{font-size:12.5px;color:#7a808b;margin:8px 0 0}
.cf-count{display:block;text-align:right;font-size:12px;color:#8a909b;margin-top:4px}.cf-count.over{color:#c0392b;font-weight:700}
.cf-seg{display:inline-flex;flex-wrap:wrap;border:1px solid #cfd3da;border-radius:8px;overflow:hidden}
.cf-seg button{background:#fff!important;color:#2e3440!important;border:0!important;border-right:1px solid #cfd3da!important;border-radius:0!important;padding:10px 18px!important;font-size:14px;box-shadow:none!important;margin:0!important}
.cf-seg button:last-child{border-right:0!important}
.cf-seg button.on{background:#161a22!important;color:#fff!important;font-weight:700}
.cf-td .photo-pick{margin:0}
.cf-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;background:#f6f7f9}
.cf-delete{background:#fff!important;color:#c0392b!important;border:1px solid #ecc9c4!important;border-radius:8px!important;padding:11px 18px!important}
.cf-save{background:#b35c45!important;color:#fff!important;border:0!important;border-radius:8px!important;padding:13px 28px!important;font-size:15px;font-weight:700}
@media(max-width:700px){.cf-row{grid-template-columns:1fr}.cf-th{padding:10px 14px 4px;background:#fff}}

/* Every text box can be enlarged from the bottom-right corner */
#root textarea{resize:vertical!important;min-height:44px;line-height:1.6;overflow:auto}
#root textarea[data-single]{min-height:44px;height:44px;white-space:pre-wrap;word-break:break-word}
#root textarea:not([data-single]){min-height:110px}
#root textarea::-webkit-resizer{background:linear-gradient(135deg,transparent 50%,#b35c45 50%,#b35c45 60%,transparent 60%,transparent 70%,#b35c45 70%,#b35c45 80%,transparent 80%)}

/* Smaller triangles */
.owner-layout>nav summary:after{border-left-width:4px!important;border-right-width:4px!important;border-top-width:5px!important}
.owner-layout>nav details[open]>summary:after{border-bottom-width:5px!important}

/* ===== Fit 管理画面 to any screen ===== */
.owner-menu-toggle{display:none!important}
#root,.owner-layout{max-width:100%;box-sizing:border-box}
.owner-layout>*{min-width:0}
.owner-layout img,.owner-layout table{max-width:100%}
.owner-layout .table-wrap{overflow-x:auto}
@media(min-width:900px){.owner-layout>nav{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow-y:auto}}
@media(min-width:700px) and (max-width:899px){
 .owner-layout{grid-template-columns:220px minmax(0,1fr)!important;gap:14px!important}
 .owner-layout>nav{min-width:0!important}
 .owner-layout>nav [data-page],.owner-layout>nav summary{font-size:13px!important}
 .owner-layout>nav [data-page]{padding-left:40px!important}
 .owner-layout>nav .owner-menu-group .owner-menu-group [data-page]{padding-left:52px!important}
 .owner-layout>nav .owner-menu-group .owner-menu-group>summary{padding-left:40px!important}
}
@media(max-width:699px){
 .owner-layout{display:block!important}
 .owner-layout>nav{min-width:0!important;max-height:none!important;overflow:visible!important;position:static!important;margin-bottom:14px;padding:0!important}
 .owner-layout>nav>*:not(.owner-menu-toggle){display:none!important}
 .owner-layout>nav.menu-open>*:not(.owner-menu-toggle){display:block!important}
 .owner-layout>nav.menu-open>[data-page]{display:flex!important}
 .owner-menu-toggle{display:flex!important;width:100%;align-items:center;justify-content:center;gap:8px;background:transparent!important;color:#fff!important;border:0!important;padding:14px!important;font-size:15px;font-weight:600;letter-spacing:.05em;box-shadow:none!important}
 .cf-foot{flex-direction:column-reverse;align-items:stretch}
 .course-list-head{flex-wrap:wrap}
}

/* 料理 / ランチ / ドリンク editor: 5-column cards like the store page */
#records-food,#records-drinks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px 14px;align-items:start}
.dish-card{position:relative;border:1px solid #e6e8ec!important;border-radius:10px!important;padding:10px!important;margin:0!important;background:#fff!important;box-shadow:none!important;min-width:0}
.dish-card.dish-open{grid-column:1/-1;padding:14px!important}
.dish-card.dish-hidden .dish-view{opacity:.45}
.dish-card>.photo-drag-handle{position:absolute;left:14px;top:14px;z-index:2;width:28px;height:28px;padding:0;border-radius:6px;background:#fff!important;color:#7a808b!important;border:1px solid #dcdfe4!important;font-size:14px;cursor:grab;touch-action:none}
.dish-thumb{aspect-ratio:1;border-radius:6px;overflow:hidden;background:#f4f1ee;display:grid;place-items:center;color:#b6aca4;font-size:11px;letter-spacing:.15em}
.dish-thumb img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.dish-name{font-size:14px;font-weight:700;line-height:1.5;margin:10px 0 2px;color:#1d1d1f}
.dish-price{font-size:13px;color:#b35c45;margin:0 0 4px}
.dish-desc{font-size:12px;line-height:1.7;color:#5b6270;margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.dish-links{display:flex;justify-content:flex-end;margin-top:6px}
.dish-links .link-button{background:none!important;border:0!important;color:#b35c45!important;padding:4px!important;font-size:13.5px;box-shadow:none!important}
.dish-open .dish-view{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:4px 16px;align-items:start}
.dish-open .dish-thumb{grid-row:1/4}
.dish-open .dish-links{grid-column:3;grid-row:1}
.dish-edit{margin-top:14px;border:1px solid #e3e5e9;border-radius:10px;overflow:hidden}
.dish-edit .move-up,.dish-edit .move-down{display:none!important}
@media(max-width:1100px){#records-food,#records-drinks{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){#records-food,#records-drinks{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){#records-food,#records-drinks{grid-template-columns:repeat(2,minmax(0,1fr))}.dish-open .dish-view{grid-template-columns:80px minmax(0,1fr)}.dish-open .dish-links{grid-column:1/-1;grid-row:auto}}

/* 情報充実度 (食べログ style, TABLE ONE colours) */
.owner-dashboard .info-fill{grid-column:1/-1}
.info-fill-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid #e3e5e9;padding-bottom:12px;margin-bottom:18px}
.info-fill-head h2{margin:0}
.info-fill-head .muted{font-size:12.5px}
.info-fill-body{display:flex;align-items:center;gap:28px}
.info-ring{flex-shrink:0;width:132px;height:132px;border-radius:50%;background:conic-gradient(#b35c45 var(--p),#e9e2dd 0);display:grid;place-items:center}
.info-ring>div{width:104px;height:104px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.info-ring small{font-size:12px;color:#5b6270}
.info-ring strong{font-size:30px;color:#b35c45;line-height:1.1}
.info-ring strong span{font-size:17px;color:#2e3440;font-weight:500}
.info-tiles{flex:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.info-tile{display:flex!important;align-items:center;gap:10px;justify-content:center;position:relative;background:#fff!important;color:#1d1d1f!important;border:1px solid #dcdfe4!important;border-radius:6px!important;padding:14px 10px!important;font-size:15px;font-weight:700;box-shadow:none!important;min-height:0}
.info-tile i{position:absolute;left:12px;width:13px;height:13px;border-radius:50%;border:2.5px solid #c9ccd3}
.info-tile.done i{border-color:#b35c45;background:#fff}
.info-tile:not(.done){color:#8a909b!important;background:#fafbfc!important}
.info-tile:not(.done):after{content:"未設定";position:absolute;right:8px;top:6px;font-size:10px;color:#b35c45;font-weight:600}
.info-tile:hover{border-color:#b35c45!important}
@media(max-width:900px){.info-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.info-fill-body{flex-direction:column}}

.soon-card{max-width:720px}.soon-card .pill{background:#fff3ee;color:#b35c45}.soon-card h2{margin:12px 0 8px}
/* 情報充実度 tiles: aligned icon + label */
.info-tile{display:grid!important;grid-template-columns:14px minmax(0,1fr) 14px;align-items:center;gap:8px;padding:16px 12px!important;font-size:14.5px}
.info-tile i{position:static;width:12px;height:12px}
.info-tile span{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.info-tile:not(.done):after{top:4px;right:6px;font-size:9.5px;line-height:1}
@media(max-width:1200px){.info-tile{font-size:13.5px;padding:14px 8px!important;gap:6px}}
.info-fill-body{container-type:inline-size}
@container(max-width:760px){.info-tiles{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@container(max-width:430px){.info-fill-body .info-tiles{grid-template-columns:1fr!important}}
@media(max-width:1100px){.info-fill-body{flex-direction:column;align-items:stretch}.info-ring{align-self:center}}

/* 代表写真 editor */
.rep-panel{margin-bottom:24px}
.rep-lead{line-height:1.9;font-size:14.5px}
.rep-rule{border:1px solid #dcdfe4;border-radius:8px;background:#f8f9fa;padding:14px 16px;font-size:13.5px;line-height:1.9;margin:14px 0 22px}
.rep-box{border:2px solid #c9ced6;border-radius:6px;overflow:hidden}
.rep-box h3{margin:0;background:#eef0f3;text-align:center;padding:12px;font-size:16px;border-bottom:1px solid #c9ced6}
.rep-box>p{text-align:center;font-size:13.5px;margin:14px 12px}
.rep-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0 20px 20px}
.rep-slot{position:relative;aspect-ratio:1;background:#f4f1ee;border-radius:4px;overflow:hidden;display:grid;place-items:center}
.rep-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rep-x{position:absolute;top:8px;right:8px;width:34px;height:34px;border-radius:50%!important;background:#111c!important;color:#fff!important;border:0!important;padding:0!important;font-size:20px;line-height:1}
.rep-change{position:absolute;left:0;right:0;bottom:0;background:#000a!important;color:#fff!important;border:0!important;border-radius:0!important;padding:12px!important;font-size:14px;text-decoration:underline}
.rep-add{background:#fff!important;color:#b35c45!important;border:2px dashed #d9a99b!important;border-radius:8px!important;padding:14px 18px!important;font-weight:700}
.rep-arrow{width:0;height:0;margin:0 auto;border-left:36px solid transparent;border-right:36px solid transparent;border-top:18px solid #161a22}
.rep-preview-wrap{position:relative;border:1px solid #dcdfe4;border-radius:6px;padding:28px 14px 14px;margin-top:14px}
.rep-preview-tag{position:absolute;top:0;right:0;background:#161a22;color:#fff;font-size:12.5px;padding:6px 12px;border-radius:0 6px 0 6px}
.rep-card{display:grid;grid-template-columns:200px minmax(0,1fr);gap:18px;align-items:start}
.rep-card-img{aspect-ratio:1;background:#f4f1ee;display:grid;place-items:center;color:#9aa0a9;font-size:12px;overflow:hidden}
.rep-card-img img{width:100%;height:100%;object-fit:cover}
.rep-card-body h4{margin:4px 0;font-size:19px;color:#b35c45}
.rep-card-meta{font-size:13px;color:#6b7280;margin:0 0 10px}
.rep-card-pr{font-size:13.5px;margin:0 0 8px}
.rep-card-budget{font-size:13px;color:#4b5260;margin:0}
@media(max-width:700px){.rep-slots{grid-template-columns:1fr 1fr;padding:0 12px 12px;gap:10px}.rep-card{grid-template-columns:110px minmax(0,1fr)}}

/* こだわり情報 cards (食べログ style) */
#records-highlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:hl;align-items:start}
.hl-card{position:relative;counter-increment:hl;border:1px dashed #c9ced6!important;border-radius:6px!important;padding:8px!important;margin:0!important;background:#fff!important;box-shadow:none!important;min-width:0}
.hl-card.hl-open{grid-column:1/-1}
.hl-card>.photo-drag-handle{position:absolute;right:14px;top:14px;z-index:3;width:28px;height:28px;padding:0;border-radius:6px;background:#fff!important;color:#7a808b!important;border:1px solid #dcdfe4!important;font-size:14px;cursor:grab;touch-action:none}
.hl-thumb{position:relative;aspect-ratio:1;background:#f4f1ee;overflow:hidden}
.hl-thumb img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.hl-thumb::before{content:"POINT " counter(hl);position:absolute;z-index:2;top:12px;left:-30px;width:120px;text-align:center;transform:rotate(-45deg);background:#b35c45;color:#fff;font-size:11px;font-weight:700;padding:4px 0;letter-spacing:.05em}
.hl-card:nth-child(n+6) .hl-thumb::before{content:"こだわり";background:#161a22}
.hl-text{padding:10px 4px;min-height:84px}
.hl-title{display:block;font-size:14px;line-height:1.5;margin-bottom:4px}
.hl-body{font-size:12.5px;line-height:1.7;color:#4b5260;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hl-ops{background:#f1f2f4;border-radius:4px;padding:10px;display:grid;gap:8px;text-align:center}
.hl-state{background:#b35c45;color:#fff;font-size:13px;padding:5px;font-weight:700}.hl-state.off{background:#9aa0a9}
.hl-edit-btn{background:#fff!important;color:#b35c45!important;border:1px solid #dcdfe4!important;border-radius:6px!important;padding:10px!important;font-size:14px}
.hl-del{background:none!important;border:0!important;color:#5b6270!important;font-size:12.5px;text-decoration:underline;padding:2px!important;box-shadow:none!important}
.hl-open .hl-view{display:grid;grid-template-columns:160px minmax(0,1fr) 180px;gap:14px;align-items:start}
.hl-edit{margin-top:12px;border:1px solid #e3e5e9;border-radius:10px;overflow:hidden}
@media(max-width:1000px){#records-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.hl-open .hl-view{grid-template-columns:110px minmax(0,1fr)}.hl-open .hl-ops{grid-column:1/-1}}
/* 特長ワード */
.kw-table{display:grid;grid-template-columns:200px minmax(0,1fr);border:2px solid #c9ced6;border-radius:6px;overflow:hidden;margin:16px 0}
.kw-th{background:#eef0f3;display:flex;align-items:center;padding:16px;font-weight:700}
.kw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;align-items:center}
.kw-grid input{border:1px solid #cfd3da;border-radius:6px;padding:11px 12px;font-size:15px;min-width:0}
.kw-note{font-size:13px;color:#b35c45}
@media(max-width:700px){.kw-table{grid-template-columns:1fr}.kw-grid{grid-template-columns:1fr 1fr}}

.hl-card>.photo-drag-handle{left:auto!important;right:14px!important}

/* Store URL fields */
.slug-field,.slug-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.slug-field span,.slug-row span{color:#6b7280;font-size:13px}
.slug-field input{flex:1;min-width:160px}
.slug-row input{width:170px;padding:6px 8px;font-size:13px}
.slug-row button{padding:6px 10px!important;font-size:12px}

/* 予算 picker */
.budget-pick{display:flex;align-items:center;gap:10px;margin:8px 0 14px;flex-wrap:wrap}
.budget-pick select{min-width:220px;padding:10px 12px;border:1px solid #cfd3da;border-radius:6px;font-size:15px}
.budget-tag{color:#fff;font-size:12px;font-weight:700;border-radius:4px;padding:3px 7px}
.budget-tag.t1-night{background:#3f4a7a}.budget-tag.t1-day{background:#e39a2f}

.cf-tags{flex-wrap:wrap;margin-bottom:8px}
.cf-tags button{border-radius:999px!important}

/* course list (食べログ style) */
#records-courses{counter-reset:cv}
.course-row{counter-increment:cv;padding:16px 6px 16px 56px!important}
.course-row::before{content:counter(cv);position:absolute;left:8px;top:50%;transform:translateY(-50%);font-size:18px;color:#2e3440;width:30px;text-align:center}
.course-row>.photo-drag-handle{top:12px;left:8px}
.course-view.cv{display:block}
.cv-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;min-width:0}
.cv-net{flex:none;border:1px solid #d33;color:#d33;font-size:12px;padding:2px 6px;border-radius:2px;background:#fff}
.cv-name{all:unset;cursor:pointer;color:#1f5fc4;font-weight:700;font-size:16px;text-decoration:underline;line-height:1.45;min-width:0;overflow-wrap:anywhere}
.cv-state{flex:none;background:#9aa0a9;color:#fff;font-size:11.5px;padding:2px 8px;border-radius:999px}
.cv-main{display:grid;grid-template-columns:140px minmax(0,1fr);gap:18px;align-items:start}
.cv .course-thumb{width:140px}
.cv-desc{margin:0 0 8px;font-size:13.5px;line-height:1.7;color:#3d4350;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cv-meta{margin:0;padding:8px 0;border-top:1px dotted #b9bec7;border-bottom:1px dotted #b9bec7;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 14px;font-size:13px}
.cv-meta div{display:flex;gap:2px;min-width:0}.cv-meta dt{flex:none;color:#3d4350}.cv-meta dd{margin:0;overflow-wrap:anywhere}
.cv-foot{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding-top:8px}
.cv-count{font-weight:700;font-size:14px}
.cv-price b{font-size:26px;color:#d4562e;font-weight:800}.cv-price em{font-style:normal;color:#d4562e;font-weight:700;margin:0 4px 0 1px}.cv-price small{color:#d4562e;font-size:12px}.cv-price .cv-price-text{font-size:18px}
.cv .course-links{margin-left:auto;gap:14px}
.cv .course-links .link-button{color:#1f5fc4!important;text-decoration:underline;font-size:14px}
@media(max-width:900px){.cv-meta{grid-template-columns:1fr 1fr}.cv-main{grid-template-columns:96px minmax(0,1fr);gap:12px}.cv .course-thumb{width:96px}}
@media(max-width:600px){.cv-meta{grid-template-columns:1fr}.course-row{padding-left:44px!important}.cv .course-links{margin-left:0}}
/* course form extras */
.cf-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cf-inline input,.cf-inline select{width:auto;min-width:0;max-width:170px}
.cf-price{display:grid;grid-template-columns:auto minmax(0,200px) auto;gap:8px 10px;align-items:center}.cf-price-l{font-weight:700}
.cf-q{margin-top:6px}
.cf-section:empty{display:none}
.cv-meta{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important}
.cv-meta div{align-items:baseline;white-space:nowrap}
.cv-meta dt,.cv-meta dd{white-space:nowrap}
.cv-meta dd{overflow:hidden;text-overflow:ellipsis;min-width:0;overflow-wrap:normal}
.cf-inline{flex-wrap:nowrap}
.cf-inline input[type=date]{width:155px;max-width:42%;flex:0 1 155px;padding:9px 10px}
.cf-inline input[type=number]{width:90px;flex:0 0 90px}
.cf-inline select{flex:0 1 auto}
.cf-tilde{flex:none}
@media(max-width:600px){.cf-inline{flex-wrap:wrap}}

#records-recommends{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start;counter-reset:hl}
#records-recommends .hl-thumb::before{content:"おすすめ";background:#b35c45}
#records-recommends .hl-card:first-child .hl-thumb::before{content:"メイン"}
@media(max-width:1000px){#records-recommends{grid-template-columns:repeat(2,minmax(0,1fr))}}

#records-interiors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}
#records-interiors .hl-thumb::before{content:"内観";background:#161a22}
#records-interiors .hl-card:first-child .hl-thumb::before{content:"メイン";background:#b35c45}
@media(max-width:1000px){#records-interiors{grid-template-columns:repeat(2,minmax(0,1fr))}}
#records-food,#records-drinks{grid-template-columns:repeat(5,minmax(0,1fr))!important}
@media(max-width:700px){#records-food,#records-drinks{grid-template-columns:repeat(5,minmax(120px,1fr))!important;overflow-x:auto}}
#records-food>.dish-open,#records-drinks>.dish-open{grid-column:1/-1}
#records-drinks{grid-template-columns:repeat(3,minmax(0,1fr))!important}
#records-drinks .dish-thumb{aspect-ratio:4/3}
@media(max-width:700px){#records-drinks{grid-template-columns:repeat(3,minmax(140px,1fr))!important}}

#records-drinkrecs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}
#records-drinkrecs .hl-thumb::before{content:"ドリンク";background:#161a22}
#records-drinkrecs .hl-card:first-child .hl-thumb::before{content:"メイン";background:#b35c45}
@media(max-width:1000px){#records-drinkrecs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cp-card{position:relative;padding:12px 12px 12px 48px!important}
.cp-card>.photo-drag-handle{position:absolute;left:10px;top:14px;width:28px;height:28px;padding:0;border-radius:6px;background:#fff!important;color:#7a808b!important;border:1px solid #dcdfe4!important;cursor:grab;touch-action:none}
#records-coupons{counter-reset:cp}
#records-coupons .cp-card{counter-increment:cp}
#records-coupons .cp-card:nth-child(-n+3)::after{content:"店舗ページに表示中（" counter(cp) "）";position:absolute;right:12px;top:10px;font-size:11px;background:#b35c45;color:#fff;padding:2px 8px;border-radius:999px}

.ff-rows{display:grid;gap:8px;margin:10px 0 8px}
.ff-row{display:grid;grid-template-columns:180px minmax(0,1fr) 32px;gap:8px;align-items:start}
.ff-row input,.ff-row textarea{min-width:0}
.ff-del{width:32px;height:32px;padding:0!important;border-radius:6px!important;background:#fff!important;color:#7a808b!important;border:1px solid #dcdfe4!important}
.ff-add{background:#fff!important;color:#b35c45!important;border:1px dashed #d9a99b!important;border-radius:6px!important;padding:8px 14px!important;font-weight:700}
@media(max-width:700px){.ff-row{grid-template-columns:minmax(0,1fr) 32px}.ff-row .ff-items{grid-column:1}}

.cf-sub{margin:0 0 6px;font-size:12.5px;font-weight:700;color:#4b5260}
.cf-sub:not(:first-child){margin-top:14px}
.ud-list{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px}
.ud-chip{display:inline-flex;align-items:center;gap:6px;background:#fbefea;color:#8a4a38;border:1px solid #e7c3b5;border-radius:999px;padding:3px 4px 3px 10px;font-size:12.5px}
.ud-chip.past{opacity:.5}
.ud-chip button{all:unset;cursor:pointer;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#8a4a38;font-size:12px}

.cp-courses{display:grid;gap:6px;margin:10px 0 4px;padding:10px 12px;border:1px solid #e3e5e9;border-radius:8px;background:#fafbfc}
.cp-course{display:flex!important;align-items:flex-start;gap:8px;font-size:13.5px;line-height:1.5;cursor:pointer}
.cp-course input{width:16px;height:16px;margin-top:2px;flex:none}
.cp-linked{margin:0 0 6px;padding:6px 10px;background:#fdf8f4;border:1px dashed #d4a796;border-radius:4px;font-size:13px}

.cp-group{border:1px solid #e3e5e9;border-radius:10px;padding:12px 14px 14px;margin:0 0 12px}
.cp-group legend{font-weight:700;font-size:13px;color:#b35c45;padding:0 6px}
.cp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.cp-grid label{display:grid;gap:4px;font-size:12.5px;color:#4b5260;margin:0}
.cp-grid .cp-wide{grid-column:1/-1}
.cp-view{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0}
.cp-view>div{display:grid;grid-template-columns:150px minmax(0,1fr);border-bottom:1px solid #eef0f3;padding:9px 0;font-size:13.5px}
.cp-view dt{color:#6b7280}.cp-view dd{margin:0}
.cp-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}
#company-profile-form{margin-top:14px}
@media(max-width:800px){.cp-grid,.cp-view{grid-template-columns:1fr}}

.tl-import{border:1px dashed #d9a99b;border-radius:10px;padding:10px 14px;margin:0 0 14px;background:#fdf8f5}
.tl-import summary{cursor:pointer;font-weight:700;color:#b35c45}
.tl-import textarea{width:100%;margin:8px 0}
.reg-name{grid-template-columns:2fr 1fr 1fr!important}
.reg-preview{margin:-4px 0 10px}
@media(max-width:800px){.reg-name{grid-template-columns:1fr!important}}

/* store registration: form + certificate-style preview */
.reg-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)!important;align-items:start}
.reg-name{align-items:end}
.reg-name label{display:flex;flex-direction:column;justify-content:flex-end}
.reg-cert{position:sticky;top:16px;padding:10px!important;background:#fffdf9!important}
.reg-cert-in{border:2px solid #b35c45;outline:1px solid #b35c45;outline-offset:3px;border-radius:4px;padding:22px 24px}
.reg-cert-label{margin:0;text-align:center;font-size:11px;letter-spacing:.3em;color:#b35c45;font-weight:700}
.reg-cert h3{text-align:center;margin:6px 0 16px;font-size:20px;letter-spacing:.12em;border-bottom:1px solid #e4d6cf;padding-bottom:12px}
#reg-cert{margin:0}
#reg-cert>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;padding:7px 0;border-bottom:1px dotted #e4d6cf;font-size:13.5px}
#reg-cert dt{color:#6b7280}#reg-cert dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.reg-cert-url{margin:14px 0 6px;font-size:12.5px;color:#6b7280;display:grid;gap:4px}
.reg-cert-url b{font-size:14px;color:#b35c45;overflow-wrap:anywhere}
@media(max-width:1000px){.reg-grid{grid-template-columns:1fr!important}.reg-cert{position:static}}
.reg-stamps{margin:16px 0 8px}
.reg-date{font-size:13px;margin:0 0 10px;text-align:right}
.reg-stamp-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.reg-stamp-row>div{border:1px solid #d9cbc3;border-radius:4px;padding:8px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#4b5260}
.reg-stamp-row i{font-style:normal;width:56px;height:56px;border:1px dashed #b35c45;border-radius:50%;display:grid;place-items:center;color:#d9a99b;font-size:13px}
.reg-print{width:100%;margin-top:8px}
@media print{
 body.printing-cert *{visibility:hidden!important}
 body.printing-cert .reg-cert,body.printing-cert .reg-cert *{visibility:visible!important}
 body.printing-cert .reg-cert{position:absolute!important;left:0;top:0;width:100%;box-shadow:none!important;border:0!important;background:#fff!important}
 body.printing-cert .reg-print,body.printing-cert .reg-cert-note{display:none!important}
 body.printing-cert .reg-cert-in{padding:36px 40px}
 body.printing-cert #reg-cert>div{font-size:14px;padding:10px 0}
 @page{size:A4;margin:16mm}
}

.pw-mask{font-family:ui-monospace,Menlo,monospace;letter-spacing:.05em}
td code{font-size:13.5px;background:#f4f1ee;padding:2px 6px;border-radius:4px}
.bk-actions{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}
/* 外部サイトから取り込み */
.imp-box{border:1px solid #e6dcd3;border-radius:8px;padding:10px 14px;margin:12px 0;background:#fffdfa}
.imp-box>summary{cursor:pointer;font-weight:700}
.imp-steps{margin:8px 0 10px 18px;padding:0;line-height:1.7}
.imp-box textarea{width:100%;min-height:110px;margin-bottom:8px}
.imp-file{display:inline-flex;align-items:center;gap:8px}
#imp-result table select{min-width:90px}
#imp-result #imp-apply{margin-top:12px}

/* ===== コンパクトUI: Control Centre / 店舗管理画面 =====
   既存ルールが「クラス3個 + !important」で指定しているため、
   クラスを重ねて詳細度を上げている。セレクタは短縮しないこと。
   全体の大きさは --t1-zoom だけで調整できる。 */
html,body{font-size:11.5px!important}
.owner-layout.owner-layout>nav{width:196px!important;min-width:196px!important;overflow-x:hidden!important}
.owner-layout.owner-layout>nav>button,.owner-layout.owner-layout>nav>a{font-size:11px!important;font-weight:400!important;line-height:1.3!important;padding:5px 8px 5px 10px!important}
.owner-layout.owner-layout>nav>.owner-menu-group.owner-menu-group>summary{font-size:11px!important;font-weight:500!important;line-height:1.3!important;padding:5px 8px 5px 10px!important}
.owner-layout.owner-layout>nav>.owner-menu-group.owner-menu-group>button{font-size:10.5px!important;font-weight:400!important;line-height:1.3!important;padding:4px 8px 4px 20px!important}
.owner-layout.owner-layout .owner-sub-group.owner-sub-group.owner-sub-group>summary{font-size:10.5px!important;font-weight:500!important;line-height:1.3!important;padding:4px 8px 4px 20px!important}
.owner-layout.owner-layout .owner-sub-group.owner-sub-group.owner-sub-group>button{font-size:10px!important;font-weight:400!important;line-height:1.3!important;padding:4px 8px 4px 28px!important}
.owner-layout.owner-layout>nav button,.owner-layout.owner-layout>nav summary,.owner-layout.owner-layout>nav a{white-space:normal!important;word-break:break-word!important;overflow:visible!important;height:auto!important;min-height:0!important;flex-shrink:1!important}
.owner-layout.owner-layout>nav svg,.owner-layout.owner-layout>nav img{width:12px!important;height:12px!important;flex:0 0 auto!important}
.owner-layout h1{font-size:17px!important;font-weight:600!important}
.owner-layout h2{font-size:13.5px!important;font-weight:600!important;padding-bottom:7px!important}
.owner-layout h3{font-size:12px!important;font-weight:600!important}
.owner-layout label{font-size:11px!important;font-weight:500!important}
.owner-layout select,.owner-layout input,.owner-layout textarea{font-size:12px!important;font-weight:400!important;padding:5px 8px!important}
.owner-layout main button{font-size:12px!important;padding:5px 10px!important}
.owner-layout table,.owner-layout th,.owner-layout td{font-size:11.5px!important}
.owner-layout main{padding:0 14px 28px!important}
:root{--t1-zoom:.85}
body:has(.owner-layout){zoom:var(--t1-zoom)}
@media(max-width:900px){
 .owner-layout.owner-layout>nav{width:168px!important;min-width:168px!important}
 .owner-layout.owner-layout>nav>.owner-menu-group.owner-menu-group>button{padding-left:16px!important}
 .owner-layout.owner-layout .owner-sub-group.owner-sub-group.owner-sub-group>button{padding-left:22px!important}
 .owner-layout main{padding:0 10px 22px!important}
}
