:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,"Noto Sans JP",sans-serif;color:#172735;background:#f6f8fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}.application{min-height:100vh;display:flex}.sidebar{position:sticky;top:0;height:100vh;width:248px;flex:none;background:#142838;color:#e9f0f5;display:flex;flex-direction:column;padding:30px 20px 20px}.brand{display:flex;align-items:center;gap:12px;padding:3px 10px 35px}.brand-symbol{font-weight:900;font-size:38px;letter-spacing:-4px;color:#f9ffff}.brand-symbol span{color:#6cd5be}.brand-title{font-size:12px;font-weight:800;letter-spacing:1.1px;white-space:nowrap}.brand-sub{font-size:9px;letter-spacing:2.5px;color:#93afbc;margin-top:5px}.sidebar-section-label{color:#7693a2;font-size:10px;letter-spacing:2px;font-weight:800;margin:0 12px 12px}.sidebar-nav{display:flex;flex-direction:column;gap:6px}.sidebar-nav a,.disabled-nav{display:flex;align-items:center;gap:12px;padding:14px;border-radius:11px;font-size:13px}.sidebar-nav a.active{background:#254252;color:#fff;font-weight:700;border-left:3px solid #6ed6b9}.disabled-nav{color:#7892a1}.nav-icon{font-size:19px;width:24px;text-align:center}.disabled-nav small{margin-left:auto;font-size:10px}.sidebar-note{background:#213b4b;border:1px solid #345161;border-radius:14px;padding:18px;margin-top:auto;color:#d7e4eb}.sidebar-note-icon{color:#79d7bd;font-size:24px;margin-bottom:10px}.sidebar-note b{font-size:12px}.sidebar-note p{font-size:11px;color:#b0c2cc;line-height:1.8;margin:9px 0 0}.sidebar-bottom{display:flex;align-items:center;gap:11px;border-top:1px solid #365061;padding:18px 5px 0;margin-top:24px}.profile-icon{border-radius:50%;height:35px;width:35px;background:#426273;color:white;font-size:12px;font-weight:800;display:grid;place-items:center}.sidebar-bottom strong,.sidebar-bottom span{display:block;font-size:11px}.sidebar-bottom span{margin-top:4px;color:#96b0bd}.main{flex:1;min-width:0}.topbar{height:68px;background:#fff;border-bottom:1px solid #e8edf1;display:flex;align-items:center;justify-content:space-between;padding:0 42px}.crumb{font-size:12px;font-weight:700;color:#566c79}.crumb span{color:#bbc7ce;padding:0 8px}.topbar-status{color:#5c7887;font-size:11px;display:flex;align-items:center;gap:8px}.online-dot{width:7px;height:7px;border-radius:50%;background:#58bd9b}.content{max-width:1460px;padding:34px 42px 24px;margin:auto}.page-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.eyebrow,.panel-kicker{font-size:10px;color:#31a58c;letter-spacing:2.2px;font-weight:800}.page-intro h1{font-size:29px;line-height:1.2;margin:7px 0 8px;font-weight:800;letter-spacing:-.7px}.page-intro p{font-size:13px;color:#788c99;margin:0}.btn{border:1px solid transparent;border-radius:10px;padding:12px 19px;font-size:12px;font-weight:750;display:inline-flex;align-items:center;gap:8px;justify-content:center;transition:background .2s,border .2s;white-space:nowrap}.btn-primary{background:#167b72;color:white}.btn-primary:hover{background:#12635d}.btn-secondary{background:#1a3445;color:white}.btn-secondary:hover{background:#294e63}.btn-outline{background:#fff;border-color:#ccd9df;color:#36515f}.btn-outline:hover{background:#f1f6f8}.prototype-banner{border:1px solid #dce8ea;border-radius:12px;background:#eef8f7;padding:13px 16px;display:flex;align-items:center;gap:12px;margin-bottom:24px}.prototype-mark{font-weight:900;color:#237e76;background:#d2efeb;display:grid;place-items:center;border-radius:50%;width:24px;height:24px;flex:none}.prototype-banner strong{font-size:12px;color:#235d59;margin-right:8px}.prototype-banner span:last-child{font-size:11px;color:#52736f}.layout{display:grid;grid-template-columns:246px minmax(0,1fr);align-items:start;gap:22px}.panel{background:white;border:1px solid #e5eaed;border-radius:16px;box-shadow:0 3px 16px rgba(19,49,64,.025)}.event-list{position:sticky;top:91px;padding:22px 0;overflow:hidden}.panel-top{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:24px 26px 18px}.event-list .panel-top{padding:0 19px 16px}.panel-top h2{font-size:17px;margin:7px 0 0;letter-spacing:-.3px}.round-count{background:#eff4f5;border-radius:50%;min-width:26px;height:26px;display:grid;place-items:center;font-size:11px;font-weight:800;color:#4e6977}.event-list-items{display:flex;flex-direction:column;gap:5px;max-height:62vh;overflow-y:auto;padding:0 11px}.event-item{width:100%;text-align:left;border:none;background:transparent;padding:13px 13px;border-radius:10px;display:flex;gap:11px;align-items:start}.event-item.active{background:#e8f5f2}.event-item:hover:not(.active){background:#f3f6f7}.event-icon{background:#eaf0f3;color:#6a8796;width:31px;height:31px;flex:none;border-radius:9px;display:grid;place-items:center;font-size:15px}.event-item.active .event-icon{background:#c8ebe0;color:#16796c}.event-item-name{font-size:12px;line-height:1.6;font-weight:700;color:#2b4554}.event-item-sub{font-size:10px;color:#8b9da7;margin-top:3px}.event-item.active .event-item-name{color:#176f63}.list-help{font-size:10px;color:#98a6af;padding:19px 20px 0;line-height:1.7}.empty-mini{font-size:12px;color:#8ea0ab;padding:22px 14px;line-height:1.8}.workspace-pane{display:flex;flex-direction:column;gap:20px;min-width:0}.form-panel{padding-bottom:22px}.form-top{padding-bottom:25px}.state-pill{border:1px solid #d2e7df;background:#f3fbf8;border-radius:50px;color:#348d7a;font-size:10px;font-weight:800;padding:6px 11px}.field-grid{padding:0 26px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.span-all{grid-column:1/-1}.field>span{font-size:12px;font-weight:750;color:#344e5c}.field em{font-style:normal;font-size:9px;color:#ce786a;font-weight:750;margin-left:5px}.field .optional{font-size:10px;font-weight:400;color:#9ba9b0}.field input,.field textarea{width:100%;outline:none;color:#193440;background:#fbfcfd;border:1px solid #dae3e8;border-radius:9px;font-size:12px;padding:13px;transition:border .18s,box-shadow .18s;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#a7b4ba}.field input:focus,.field textarea:focus{border-color:#39a58f;box-shadow:0 0 0 3px #e5f6f0}.field input:disabled{background:#f1f4f6;color:#7f949d}.field small{font-size:10px;color:#92a3ad;line-height:1.6}.salon-panel .panel-help{font-size:11px;color:#8396a1;margin:8px 0 0}.big-counter{font-size:29px;color:#197d72;font-weight:800;line-height:1}.big-counter small{font-size:12px}.salon-search{display:flex;align-items:center;gap:14px;padding:0 26px}.search-box{display:flex;align-items:center;background:#f8fafb;border:1px solid #dae3e7;border-radius:10px;min-width:0;flex:1;padding:0 12px}.search-box span{font-size:23px;color:#91a5af;line-height:1}.search-box input{border:0;background:transparent;width:100%;outline:0;font-size:12px;padding:12px 8px}.search-tally{color:#92a2ac;font-size:11px;white-space:nowrap}.catalog-items{margin:12px 26px 0;border:1px solid #e9eef0;border-radius:11px;max-height:228px;overflow:auto}.catalog-item{padding:11px 13px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #edf1f2}.catalog-item:last-child{border-bottom:0}.salon-name{font-size:12px;font-weight:700;color:#304a57}.salon-meta{font-size:10px;color:#93a5ac;margin-top:4px;line-height:1.6}.add-button{border:1px solid #b7dfd4;background:#f0faf6;color:#188271;border-radius:7px;padding:6px 11px;font-size:11px;font-weight:800;white-space:nowrap}.add-button:hover{background:#dcf2e9}.add-button:disabled{border-color:#dce6e8;background:#f6f8f9;color:#9aaab2}.subsection-header{margin:25px 26px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px}.subsection-header strong{display:block;font-size:13px}.subsection-header small{display:block;margin-top:5px;color:#99a8b0;font-size:10px}.publish-counter{background:#eff8f5;color:#278477;border-radius:100px;padding:7px 10px;font-weight:800;font-size:10px;white-space:nowrap}.selected-items{padding:0 26px 24px}.empty-selected{padding:30px 15px;text-align:center;border:1px dashed #ccdce2;border-radius:11px;color:#a3b1b9;font-size:12px}.selected-table{width:100%;border-collapse:collapse}.selected-table thead th{text-align:left;color:#8297a3;background:#f6f9fa;font-size:10px;font-weight:700;padding:11px 9px}.selected-table tbody td{border-bottom:1px solid #edf1f3;padding:13px 9px;font-size:11px;vertical-align:middle}.selected-table tbody tr:last-child td{border-bottom:0}.selected-table .name-cell{font-weight:700;font-size:12px;max-width:230px;overflow-wrap:anywhere}.booth-input{width:64px;padding:8px 6px;border:1px solid #d5e1e7;border-radius:7px;font-size:12px;text-align:center;outline:none}.booth-input:focus{border-color:#39a58f}.checkbox-wrap{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:11px;color:#3f6571;cursor:pointer}.checkbox-wrap input{accent-color:#188777;width:15px;height:15px}.remove-button{background:transparent;border:0;color:#b75f60;font-weight:800;font-size:16px;padding:5px 7px}.remove-button:hover{background:#fff0ee;border-radius:6px}.bottom-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.save-message{color:#90a2aa;font-size:11px;line-height:1.6}.save-message.error{color:#b94b43}.save-message.ok{color:#187764}.action-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.build-result{background:#edf8f3;border:1px solid #c9e9de;border-radius:14px;display:flex;align-items:start;padding:19px;gap:13px}.build-result.hidden{display:none}.result-icon{color:#fff;background:#23866e;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-weight:800;flex:none}.result-body strong{font-size:13px;color:#246d58}.result-body>div#result-description{font-size:12px;margin-top:6px;color:#57756c}.result-links{display:flex;gap:18px;margin:12px 0}.result-links a{color:#187367;text-decoration:underline;font-weight:700;font-size:12px}.result-body small{font-size:10px;color:#8c6154}.footer{display:flex;justify-content:space-between;border-top:1px solid #e7edf0;color:#a0afb8;font-size:10px;margin-top:30px;padding:20px 0}.demo-tag{background:#f0e9ff;color:#6750a8;border-radius:6px;padding:5px 8px;font-weight:750}@media(max-width:1100px){.sidebar{width:205px;padding-left:12px;padding-right:12px}.content{padding:30px 24px}.topbar{padding:0 24px}.layout{grid-template-columns:215px minmax(0,1fr);gap:16px}.field-grid{gap:14px}.panel-top{padding-left:20px;padding-right:20px}.field-grid{padding:0 20px}.salon-search{padding:0 20px}.catalog-items{margin-left:20px;margin-right:20px}.subsection-header{margin-left:20px;margin-right:20px}.selected-items{padding-left:20px;padding-right:20px}}@media(max-width:800px){.sidebar{height:auto;width:100%;position:static;flex-direction:row;padding:12px 17px;align-items:center;justify-content:space-between}.brand{padding:0}.brand-symbol{font-size:26px}.brand-title{font-size:12px}.brand-sub{font-size:8px}.sidebar-section-label,.sidebar-nav,.sidebar-note{display:none}.sidebar-bottom{margin:0;border:0;padding:0}.sidebar-bottom>div:last-child{display:none}.application{display:block}.topbar{height:48px}.content{padding:23px 16px}.page-intro{align-items:start}.page-intro h1{font-size:24px}.layout{grid-template-columns:1fr}.event-list{position:static;padding-bottom:10px}.event-list-items{max-height:165px}.event-list .panel-top{padding-bottom:8px}.event-list-items{flex-direction:row;overflow-x:auto}.event-item{min-width:195px}.list-help{padding-top:8px}.footer{gap:10px}.field-grid{grid-template-columns:1fr}.field{grid-column:1/-1}.prototype-banner{align-items:start}.prototype-banner strong,.prototype-banner span:last-child{display:block}.prototype-banner span:last-child{margin-top:5px}}@media(max-width:560px){.page-intro{flex-direction:column}.page-intro .btn{width:100%}.topbar-status{font-size:9px}.panel-top{padding:20px 16px 14px}.field-grid{padding:0 16px}.salon-search{padding:0 16px}.catalog-items{margin:12px 16px}.subsection-header{margin:22px 16px 10px}.selected-items{padding:0 12px 20px;overflow-x:auto}.selected-table{min-width:0;width:100%}.selected-table thead{display:none}.selected-table tbody{display:block}.selected-table tbody tr{display:grid;grid-template-columns:minmax(105px,1fr) 88px 34px;gap:5px;align-items:center;border:1px solid #e5ecef;border-radius:10px;padding:10px 9px;margin-bottom:9px}.selected-table tbody td{border:0;padding:4px}.selected-table tbody td.name-cell{grid-column:1/-1;max-width:none;padding:3px 4px 8px}.selected-table tbody td:nth-child(2):before{content:"ブース ";font-size:10px;color:#8295a1}.selected-table .booth-input{width:62px}.action-buttons{width:100%;justify-content:flex-end}.action-buttons .btn{padding:11px 10px;font-size:11px}.bottom-actions{padding:0 1px}.footer span{display:none}.result-links{flex-direction:column;gap:7px}}

/* V7: User-selected catalog (content never hosted on Firebase) */
.import-panel { background:#f2f7f8;border:1px solid #c8dfe0;border-radius:12px;padding:16px;margin:12px 0 16px; }
.import-title {display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap;font-size:14px;}
.import-title span {color:#006f6c;font-size:12px;font-weight:700;}
.import-panel p {margin:8px 0 10px;color:#465b68;line-height:1.6;font-size:12px;}
.import-actions {display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.import-actions label {cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.import-panel .privacy-alert {color:#803b21;font-weight:600;}

/* V8: compact 50-salon selection workflow */
.catalog-tools {margin-bottom:8px;}
.catalog-tools .salon-search {flex-wrap:wrap;}
.compact-select-label {font-size:11px;font-weight:700;color:#506674;display:flex;gap:7px;align-items:center;white-space:nowrap;}
.compact-select-label select {min-width:130px;max-width:200px;padding:10px 11px;border:1px solid #d6e4e7;border-radius:8px;background:#fff;color:#294655;font-size:12px;}
.catalog-toolbar {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 26px 0;}
.catalog-toolbar .search-tally {margin-left:auto;}
.catalog-toolbar .btn {padding:8px 11px;font-size:11px;}
.compact-check {display:flex;align-items:center;gap:6px;color:#476578;font-size:11px;cursor:pointer;}
.compact-check input {accent-color:#168675;}
.catalog-items {max-height:298px;}
.catalog-item {padding:9px 12px;min-height:57px;}
.catalog-copy {flex:1;min-width:0;}
.salon-name {font-size:12px;line-height:1.4;}
.salon-meta {font-size:10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.selected-toolbar {display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 26px 11px;}
.selected-toolbar .search-box {flex:1;min-width:170px;}
.selected-toolbar .search-box input {padding:9px 7px;}
.selected-toolbar .btn {padding:9px 10px;font-size:11px;}
.selected-items {max-height:490px;overflow:auto;padding-bottom:18px;}
.selected-table thead {position:sticky;top:0;z-index:2;}
.selected-table thead th {box-shadow:0 1px 0 #dde9eb;}
.selected-table tbody td {padding:9px 9px;}
.selected-table tbody tr:hover {background:#f6fbfa;}
.quality-summary {font-size:11px;line-height:1.7;color:#426d62;margin-top:9px;max-width:650px;}
@media(max-width:1100px){.catalog-toolbar{margin-left:20px;margin-right:20px}.selected-toolbar{margin-left:20px;margin-right:20px}}
@media(max-width:560px){.catalog-tools .salon-search {padding:0 16px;gap:8px}.compact-select-label {width:100%;justify-content:space-between}.compact-select-label select {flex:1;max-width:none}.catalog-toolbar {margin:10px 16px;}.selected-toolbar {margin:0 16px 12px;}.selected-toolbar .search-box {flex-basis:100%;}.selected-items {max-height:500px;overflow-y:auto;}.selected-table thead {position:static;}.selected-table tbody tr {grid-template-columns:minmax(105px,1fr) 98px 44px;}.selected-table tbody td:nth-child(2):before {display:block;}}

/* V9 booth-count controls */
.booth-count-helper{justify-content:center;align-self:stretch;background:#f4faf8;border:1px solid #d9ece6;border-radius:10px;padding:13px 16px}
.booth-count-helper p{margin:0;font-size:11px;line-height:1.7;color:#68817f}
.booth-select{min-width:84px;width:100%;max-width:110px;text-align:left;cursor:pointer;padding:8px}
.booth-out-of-range{background:#fff5f0;border-color:#ce705c;color:#b55340}
@media(max-width:560px){.booth-select{min-width:90px;width:100%;}.booth-count-helper{padding:12px}}

/* V10.2: ACF content review notices; unrelated to HTML structural validity */
.import-panel .import-review{padding:12px 14px;margin:10px 0 0;border:1px solid #d8ac74;background:#fff8ed;border-radius:9px;color:#724718;font-size:11px;line-height:1.7;}
.import-review strong{font-size:12px;display:block;}
.import-review ul{margin:7px 0 0 15px;padding:0;}
.import-review li{margin:4px 0;}
.import-review p{margin:7px 0 0;font-size:11px;color:#724718;}

/* V12.10.22: Firebase Authentication gate. Existing management UI stays unchanged after login. */
.auth-gate{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 85% 10%,#ffe9f3 0,transparent 34%),linear-gradient(135deg,#fff 0,#fff7fb 55%,#f8fbfb 100%)}
.auth-gate[hidden]{display:none}.auth-gate-card{width:min(520px,100%);background:#fff;border:1px solid #f1dbe5;border-radius:24px;padding:40px;box-shadow:0 22px 60px rgba(48,27,45,.12);text-align:center}.auth-gate-logo{width:170px;height:auto;display:block;margin:0 auto 28px;background:#171721;border-radius:18px;padding:14px}.auth-gate .eyebrow{color:#ff2c87;font-weight:900;letter-spacing:.18em;font-size:11px}.auth-gate h1{margin:9px 0 14px;font-size:30px;color:#212132}.auth-gate p{color:#6d6877;line-height:1.8;font-size:14px}.auth-google-button{margin:18px auto 10px;min-width:220px}.auth-gate-message{min-height:24px;margin:12px 0!important;font-size:12px!important;color:#4d756b!important}.auth-gate-message.error{color:#b54848!important}.auth-gate small{display:block;color:#938c99;line-height:1.7;font-size:11px}.auth-profile-copy{min-width:0;flex:1}.auth-profile-copy strong,.auth-profile-copy span{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-signout{border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;border-radius:8px;padding:7px 8px;font-size:9px;cursor:pointer}.auth-signout:hover{background:rgba(255,255,255,.08)}
@media(max-width:800px){.auth-gate{padding:16px}.auth-gate-card{padding:28px 20px}.auth-gate h1{font-size:24px}.auth-gate-logo{width:145px}.auth-signout{font-size:0;width:34px;height:34px}.auth-signout:after{content:'↪';font-size:15px}.sidebar-bottom{gap:7px}.auth-profile-copy{display:none}}
