:root{--navy:#14263d;--navy-2:#1b3553;--orange:#e87832;--orange-soft:#fff3eb;--ink:#1f2937;--muted:#667085;--line:#dfe5ec;--bg:#f3f6f9;--white:#fff;--green:#138a63;--red:#c84545;--shadow:0 14px 40px rgba(21,37,55,.09)}
*{box-sizing:border-box}html{font-family:"Noto Sans JP","Yu Gothic UI","Meiryo",sans-serif;color:var(--ink);font-size:16px}body{margin:0;background:var(--bg);line-height:1.55}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:linear-gradient(180deg,var(--navy),#101f32);color:#fff;display:flex;flex-direction:column;z-index:10}.brand{height:84px;display:flex;align-items:center;gap:12px;padding:0 25px;font-size:14px;font-weight:800;letter-spacing:.12em;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark{width:14px;height:14px;background:var(--orange);border-radius:50%;box-shadow:0 0 0 6px rgba(232,120,50,.16)}.sidebar nav{padding:19px 13px;overflow-y:auto}.nav-label{font-size:11px;letter-spacing:.12em;color:#8294a8;margin:17px 12px 8px;font-weight:700}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 13px;margin:3px 0;border-radius:8px;color:#cbd5df;font-size:14px;font-weight:600}.nav-item span{width:22px;text-align:center;font-size:18px}.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item.active{background:var(--orange);color:#fff;box-shadow:0 5px 16px rgba(232,120,50,.25)}.side-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:16px;display:flex;align-items:center;gap:10px}.avatar{width:37px;height:37px;background:#36506d;border-radius:50%;display:grid;place-items:center;font-weight:700}.user-meta{display:flex;flex-direction:column;min-width:0;flex:1}.user-meta strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-meta small{font-size:11px;color:#9eacba}.side-user form{margin:0}.logout{border:0;background:transparent;color:#9eacba;font-size:22px;padding:5px}.logout:hover{color:#fff}.main{margin-left:250px;min-height:100vh}.topbar{height:84px;background:#fff;border-bottom:1px solid var(--line);padding:0 35px;display:flex;align-items:center}.topbar h1{font-size:25px;margin:0;font-weight:800;letter-spacing:.01em}.topbar p{margin:2px 0 0;color:var(--muted);font-size:13px}.content{padding:30px 35px 60px;max-width:1600px}.alert{padding:13px 16px;border-radius:8px;margin-bottom:18px;font-weight:600}.alert.success{background:#e9f7f1;color:#0d704f;border:1px solid #bce6d5}.alert.error{background:#fff0f0;color:#9d3030;border:1px solid #f0c7c7}.btn,.small-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:7px;background:#fff;font-weight:700}.btn{min-height:43px;padding:0 19px}.small-btn{min-height:32px;padding:0 11px;font-size:13px}.btn.primary{background:var(--orange);color:#fff;border-color:var(--orange)}.btn.primary:hover{background:#d96826}.btn.wide{width:100%}.btn.subtle{background:#f7f8fa;color:#647184}.btn:disabled{cursor:not-allowed;opacity:.65}.primary-outline{color:#b6541b;border-color:#f0c7ad;background:var(--orange-soft)}.small-btn.danger{color:#aa3c3c;border-color:#efcccc;background:#fff}.eyebrow{color:var(--orange);font-size:11px;font-weight:900;letter-spacing:.14em}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 3px 13px rgba(21,37,55,.04)}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}.panel-head h2{font-size:18px;margin:0}.panel-head p{margin:3px 0 0;color:var(--muted);font-size:13px}.count{padding:4px 10px;border-radius:999px;background:#eef2f6;color:#576576;font-size:12px;font-weight:700}.welcome-panel{background:linear-gradient(120deg,var(--navy-2),#294866);color:#fff;border-radius:13px;padding:28px 30px;display:grid;grid-template-columns:minmax(300px,1fr) 1.5fr;gap:35px;margin-bottom:25px;box-shadow:var(--shadow)}.welcome-panel h2{font-size:25px;margin:7px 0 5px}.welcome-panel p{margin:0;color:#c9d4df}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quick-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);padding:17px;border-radius:9px;display:grid;grid-template-columns:30px 1fr;column-gap:8px;align-items:center}.quick-card>span{font-size:23px;color:#ffb483;grid-row:1/3}.quick-card strong{font-size:14px}.quick-card small{color:#b9c8d6;font-size:11px}.quick-card:not(.disabled):hover{background:rgba(255,255,255,.16)}.quick-card.disabled{opacity:.65;cursor:not-allowed}.event-list{padding:0 22px}.event-row{display:grid;grid-template-columns:78px 1fr auto;align-items:center;gap:20px;padding:20px 4px;border-bottom:1px solid #edf0f3}.event-row:last-child{border-bottom:0}.event-date{border-right:1px solid var(--line);display:flex;flex-direction:column}.event-date strong{font-size:23px;color:var(--navy-2)}.event-date small{color:var(--muted)}.event-info>div{display:flex;align-items:center;gap:10px}.event-info h3{margin:0;font-size:16px}.event-info p{margin:6px 0 0;color:var(--muted);font-size:13px}.status,.active-chip,.inactive-chip,.role-chip,.number-chip{display:inline-block;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700;white-space:nowrap}.status.accepting,.active-chip{background:#e6f6ef;color:#087253}.status.finished,.inactive-chip{background:#edf0f3;color:#667085}.status.draft{background:#fff1df;color:#9b591a}.status.closed{background:#fbeaea;color:#a23d3d}.role-chip{background:#eaf1fb;color:#345d91}.number-chip{background:var(--navy-2);color:#fff;min-width:32px;text-align:center}.master-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.master-toolbar p{margin:0;color:var(--muted)}.master-grid{display:grid;grid-template-columns:minmax(650px,1.65fr) minmax(320px,.75fr);gap:20px;align-items:start}.master-grid.single{grid-template-columns:minmax(500px,850px)}.form-panel{position:sticky;top:18px}.filter-row{display:flex;align-items:center;gap:10px;padding:14px;border-bottom:1px solid var(--line)}.filter-row input,.filter-row select{height:39px;border:1px solid var(--line);border-radius:7px;padding:0 11px;background:#fff;min-width:0}.filter-row input{flex:1}.filter-row select{max-width:180px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}th{text-align:left;background:#f7f9fb;color:#647184;font-size:11px;letter-spacing:.03em;padding:11px 13px;border-bottom:1px solid var(--line)}td{padding:13px;border-bottom:1px solid #edf0f3;vertical-align:middle}tbody tr:hover{background:#fbfcfd}.actions-cell{width:1px}.row-actions{display:flex;justify-content:flex-end;gap:6px}.row-actions form{margin:0}.empty{text-align:center;padding:36px;color:var(--muted)}.data-form{padding:22px}.data-form label{display:block;font-weight:700;font-size:13px;margin-bottom:15px}.data-form label em{font-style:normal;color:#c34747;font-size:10px;margin-left:5px}.data-form label small{color:var(--muted);font-weight:400;margin-left:5px}.data-form input:not([type=checkbox]),.data-form select{display:block;width:100%;height:44px;border:1px solid #cfd7df;border-radius:7px;background:#fff;padding:0 11px;margin-top:6px;outline:none}.data-form input:focus,.data-form select:focus,.filter-row input:focus,.filter-row select:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(232,120,50,.12)}.form-grid{display:grid;gap:12px}.form-grid.two{grid-template-columns:1fr 1fr}.check-label{display:flex!important;align-items:center;gap:9px;margin-top:6px}.check-label input{width:18px;height:18px;accent-color:var(--orange)}.form-actions{display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding-top:18px;margin-top:8px}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#294866 0,#14263d 35%,#0e1a2a 100%);padding:24px}.login-card{width:min(440px,100%);background:#fff;border-radius:15px;padding:32px 38px 28px;box-shadow:0 30px 80px rgba(0,0,0,.32)}.login-brand{display:flex;align-items:center;gap:12px;color:var(--navy);font-size:13px;font-weight:900;letter-spacing:.12em;border-bottom:1px solid var(--line);padding-bottom:22px}.login-heading{padding:28px 0 19px}.login-heading h1{font-size:25px;margin:7px 0 3px}.login-heading p{margin:0;color:var(--muted)}.login-form label{display:block;font-size:13px;font-weight:700;margin:0 0 16px}.login-form input{display:block;width:100%;height:47px;margin-top:7px;border:1px solid #ccd5df;border-radius:7px;padding:0 12px;outline:none}.login-form input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(232,120,50,.12)}.login-note{text-align:center;color:#7d8896;font-size:11px;margin:20px 0 0}.error-page{min-height:100vh;display:grid;place-items:center;text-align:center}.error-page h1{font-size:70px;margin:0;color:var(--orange)}.error-page p{margin:0 0 25px;color:var(--muted)}
@media(max-width:1150px){.master-grid{grid-template-columns:1fr}.form-panel{position:static}.welcome-panel{grid-template-columns:1fr}.quick-actions{max-width:680px}}
@media(max-width:760px){.sidebar{position:static;width:100%;height:auto}.sidebar nav{display:none}.side-user{display:none}.brand{height:62px}.main{margin:0}.topbar{height:70px;padding:0 18px}.content{padding:20px 15px 45px}.welcome-panel{padding:22px}.quick-actions{grid-template-columns:1fr}.master-grid{display:block}.list-panel{margin-bottom:18px}.form-grid.two{grid-template-columns:1fr}.filter-row{flex-wrap:wrap}.filter-row input{flex-basis:100%}.event-row{grid-template-columns:60px 1fr}.event-actions{display:none}}

/* Master pages: HTML prototype-compatible list + modal layout */
.topbar{justify-content:space-between;gap:20px}.topbar-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.master-page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.master-page-head p{margin:0;color:var(--muted);font-size:14px}.master-list-panel{width:100%}.master-table{font-size:14px}.master-table th{font-size:12px;padding:13px 16px}.master-table td{padding:15px 16px}.table-main-text,.master-table td small{display:block}.master-table td small{margin-top:2px;color:var(--muted);font-size:12px}.table-link{color:#b6541b;font-weight:700}.table-link:hover{text-decoration:underline}.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(10,22,37,.58);opacity:0;visibility:hidden;transition:opacity .16s ease,visibility .16s ease}.modal-backdrop.open{opacity:1;visibility:visible}.modal-dialog{width:min(560px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 28px 80px rgba(7,18,31,.3);overflow:hidden;transform:translateY(8px);transition:transform .16s ease}.modal-backdrop.open .modal-dialog{transform:translateY(0)}.modal-dialog.wide{width:min(780px,100%)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:21px 24px 18px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:20px}.modal-head p{margin:3px 0 0;color:var(--muted);font-size:13px}.modal-close{width:36px;height:36px;flex:0 0 36px;border:0;border-radius:7px;background:#f0f3f6;color:#596777;font-size:23px;line-height:1}.modal-close:hover{background:#e5e9ed;color:var(--ink)}.modal-form{overflow-y:auto;padding:22px 24px 0}.modal-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;margin:8px -24px 0;padding:17px 24px;background:#fff;border-top:1px solid var(--line)}body.modal-open{overflow:hidden}
@media(max-width:760px){.master-page-head{align-items:flex-start;flex-direction:column}.master-page-head .btn{width:100%}.modal-backdrop{padding:10px;align-items:flex-end}.modal-dialog,.modal-dialog.wide{max-height:94vh;border-radius:12px 12px 0 0}.modal-head{padding:18px}.modal-form{padding:18px 18px 0}.modal-actions{margin-left:-18px;margin-right:-18px;padding:14px 18px}.master-table{font-size:13px}}

/* Master pages: filters, tables and status components */
.filter-bar{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 3px 13px rgba(21,37,55,.04)}.filter-bar input,.filter-bar select{height:41px;min-width:0;padding:0 12px;background:#fff;border:1px solid #cfd7df;border-radius:7px;outline:0}.filter-bar input{flex:1;min-width:230px}.filter-bar select{min-width:150px}.filter-bar input:focus,.filter-bar select:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(232,120,50,.12)}.filter-bar .tally{margin-left:auto;flex:0 0 auto}.master-table-wrap{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 3px 13px rgba(21,37,55,.04)}.primary-text{font-weight:800;color:#26374b}.password-mask{color:#8a95a3;font-size:18px;letter-spacing:.12em}.row-btn{display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:0 10px;color:#526173;font-size:12px;font-weight:800;background:#fff;border:1px solid #d7dee6;border-radius:6px}.row-btn:hover{background:#f5f7f9}.row-btn.primary{color:#b6541b;background:var(--orange-soft);border-color:#f0c7ad}.department-id{display:grid;width:38px;height:38px;place-items:center;color:#fff;font-weight:900;background:var(--navy-2);border-radius:7px}.department-status{display:inline-flex;align-items:center;gap:6px;color:#087253;font-size:12px;font-weight:800}.department-status::before{width:7px;height:7px;content:"";background:#16a474;border-radius:50%}.department-status.inactive{color:#7d8896}.department-status.inactive::before{background:#9ca7b4}.department-usage{color:#536174;font-weight:700}.master-note{margin-bottom:15px;padding:13px 16px;color:#536174;font-size:13px;background:#edf3f8;border-left:4px solid var(--navy-2);border-radius:7px}.department-field-note{display:block;margin:6px 0 0;color:#7a8797;font-size:11px;font-weight:400}.section-master-summary{display:flex;align-items:center;gap:14px;margin-bottom:15px;padding:15px 18px;background:#fff;border:1px solid var(--line);border-radius:10px}.section-master-summary b{color:var(--navy-2);font-size:15px}.section-master-summary span{color:var(--muted);font-size:12px}.active-setting{display:flex!important;align-items:center;gap:11px;margin:5px 0 17px;padding:13px 14px;background:#f6f8fa;border-radius:8px}.active-setting input{width:18px;height:18px;accent-color:var(--orange)}.active-setting span{display:grid}.active-setting b{font-size:13px}.active-setting small{color:var(--muted);font-size:11px;font-weight:400}.modal-form label{font-size:13px}.modal-form label>span:first-child{display:inline-block}
@media(max-width:900px){.filter-bar{flex-wrap:wrap}.filter-bar input{flex-basis:100%}.filter-bar .tally{margin-left:0}.filter-bar select{flex:1}.section-master-summary{align-items:flex-start;flex-direction:column;gap:2px}}

/* Company settings */
.company-settings-layout{display:grid;grid-template-columns:minmax(620px,1fr) 360px;align-items:start;gap:18px;max-width:1420px}.company-settings-main{display:grid;gap:15px}.company-setting-card{padding:22px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 13px rgba(21,37,55,.04)}.company-card-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}.company-card-head>span{display:grid;width:36px;height:36px;place-items:center;color:#fff;font-size:12px;font-weight:900;background:var(--navy);border-radius:8px}.company-card-head h2{margin:0;font-size:17px}.company-card-head p{margin:3px 0 0;color:var(--muted);font-size:13px}.company-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.company-field{display:grid;gap:7px}.company-field.full{grid-column:1/-1}.company-field>span{color:#445166;font-size:13px;font-weight:800}.company-field em{margin-left:3px;color:#c84545;font-size:11px;font-style:normal}.company-field input,.company-field textarea{width:100%;padding:11px 12px;color:#233247;font:14px inherit;background:#fff;border:1px solid #cfd7df;border-radius:8px;outline:0;resize:vertical}.company-field input{height:44px}.company-field input:focus,.company-field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(232,120,50,.12)}.company-brand-form{display:grid;grid-template-columns:1fr 270px;gap:24px}.company-logo-upload{display:flex;align-items:center;gap:15px}.company-logo-box{display:grid;flex:0 0 92px;width:92px;height:92px;place-items:center;overflow:hidden;color:#fff;font-size:28px;font-weight:900;background:var(--navy);border:1px solid var(--line);border-radius:13px}.company-logo-box img,.preview-logo img{width:100%;height:100%;object-fit:contain;background:#fff}.company-upload-button{display:inline-block;padding:9px 12px;color:#3e4d61;font-size:12px;font-weight:800;background:#fff;border:1px solid #d5dce5;border-radius:7px;cursor:pointer}.company-upload-button input{display:none}.company-logo-remove{margin-left:5px;padding:8px 5px;color:#b15040;font:700 12px inherit;background:transparent;border:0}.company-logo-upload p{margin:8px 0 0;color:#7d8896;font-size:11px}.company-color-fields{display:grid;gap:10px}.company-color{display:grid;grid-template-columns:1fr 42px 72px;align-items:center;gap:8px;padding:10px 11px;background:#f7f9fb;border-radius:8px}.company-color span{font-size:12px;font-weight:800}.company-color input{width:42px;height:30px;padding:2px;background:#fff;border:1px solid #d6dde5;border-radius:5px;cursor:pointer}.company-color code{color:#667386;font-size:11px}.company-inquiry-example{display:grid;gap:4px;margin-top:15px;padding:12px 14px;background:#f2f6fa;border-radius:8px}.company-inquiry-example span{color:#758195;font-size:11px;font-weight:700}.company-inquiry-example b{color:#3d4d62;font-size:12px;line-height:1.6}.company-preview-panel{position:sticky;top:20px;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 13px rgba(21,37,55,.04)}.company-preview-head{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;border-bottom:1px solid var(--line)}.company-preview-head b{font-size:13px}.company-preview-head span{color:#8893a1;font-size:11px}.login-preview{--preview-primary:#152a43;--preview-accent:#e8792c;min-height:410px;padding:25px;color:#fff;background:linear-gradient(155deg,color-mix(in srgb,var(--preview-primary) 88%,#fff),var(--preview-primary));transition:.2s}.preview-brand{display:flex;align-items:center;gap:10px}.preview-logo{display:grid;width:40px;height:40px;place-items:center;overflow:hidden;color:var(--preview-primary);font-size:15px;font-weight:900;background:#fff;border-radius:8px}.preview-brand>div:last-child{display:grid}.preview-brand b{font-size:12px}.preview-brand small{margin-top:2px;color:#c5d0dc;font-size:9px;letter-spacing:.08em}.login-preview h3{margin:34px 0 0;font-size:23px;line-height:1.5;white-space:pre-line}.login-preview>p{margin-top:10px;color:#d0d9e3;font-size:12px;line-height:1.75}.preview-login-card{margin-top:27px;padding:16px;color:#253247;background:#fff;border-radius:9px;box-shadow:0 12px 25px rgba(0,0,0,.18)}.preview-login-card span{font-size:12px;font-weight:900}.preview-login-card i{display:block;height:30px;margin-top:8px;background:#f3f5f7;border:1px solid #e0e4e9;border-radius:5px}.preview-login-card button{width:100%;margin-top:10px;padding:9px;color:#fff;font:800 11px inherit;background:var(--preview-accent);border:0;border-radius:5px}.company-preview-note{padding:16px}.company-preview-note b{font-size:12px}.company-preview-note ul{display:grid;gap:5px;margin:8px 0 0 18px;padding:0;color:#6f7c8d;font-size:11px;line-height:1.5}
@media(max-width:1120px){.company-settings-layout{grid-template-columns:1fr}.company-preview-panel{position:static;max-width:500px}.login-preview{min-height:360px}}
@media(max-width:720px){.company-form-grid,.company-brand-form{grid-template-columns:1fr}.company-field.full{grid-column:auto}.company-logo-upload{align-items:flex-start}.company-setting-card{padding:17px}.topbar-actions .btn{padding:0 11px;font-size:12px}}

/* Company identity in login and sidebar */
.sidebar .brand{height:94px;padding:0 18px;gap:11px;letter-spacing:0}.sidebar-brand-logo,.login-brand-logo{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;overflow:hidden;border-radius:8px}.sidebar-brand-logo{background:rgba(255,255,255,.1)}.sidebar-brand-logo img,.login-brand-logo img{width:100%;height:100%;object-fit:contain;background:#fff}.sidebar-brand-logo .brand-mark,.login-brand-logo .brand-mark{margin:auto}.sidebar-brand-copy,.login-brand-copy{display:grid;min-width:0}.sidebar-brand-copy strong{overflow:hidden;font-size:13px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.sidebar-brand-copy small{overflow:hidden;color:#9fb0c1;font-size:9px;font-weight:700;letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap}.login-brand{letter-spacing:0}.login-brand-logo{background:#f1f4f7}.login-brand-copy strong{color:var(--navy);font-size:14px;line-height:1.45}.login-brand-copy small{color:#7c8998;font-size:10px;font-weight:700;letter-spacing:.1em}.login-heading p{white-space:pre-line}

/* Master list values are centered for quick scanning */
.master-table th,.master-table td{text-align:center}.master-table .row-actions{justify-content:center}.master-table .department-id{margin:0 auto}.master-table .department-usage small{margin-top:1px}.master-table .department-status{justify-content:center}
@media(max-width:760px){.sidebar .brand{height:70px}.sidebar-brand-copy strong{font-size:12px}}

/* Consistent master list typography and controls */
.master-number-badge{display:inline-grid;min-width:38px;height:38px;padding:0 9px;place-items:center;color:#fff;font-size:14px;font-weight:900;font-variant-numeric:tabular-nums;background:var(--navy-2);border-radius:7px}.master-table th{height:46px}.master-table td{height:68px}.master-table th:last-child,.master-table td:last-child{min-width:128px}.master-table .master-number-badge{margin:0 auto}.master-table .primary-text{font-size:14px}.master-table .master-login-id{font-weight:700;font-variant-numeric:tabular-nums;color:#455468}.master-table .role-chip,.master-table .department-status,.master-table .row-btn{font-size:12px}.master-table .row-btn{min-width:54px}.master-table .row-actions{justify-content:center}
.row-btn.danger{color:#aa3c3c;background:#fff;border-color:#efcccc}.row-btn.danger:hover{background:#fff1f1;border-color:#e6aaaa}.master-table .row-actions form{margin:0}.master-table th:last-child,.master-table td:last-child{min-width:180px}

/* Events */
.event-filter-bar{max-width:1000px}.event-table{min-width:1120px;font-size:13px}.event-table th,.event-table td{text-align:center}.event-table td:first-child{text-align:left;min-width:260px}.event-table td small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.venue-tag{display:inline-block;padding:4px 9px;color:#fff;font-size:11px;font-weight:800;border-radius:100px}.venue-kurashiki{background:#2a4c72}.venue-okayama{background:#2c8c99}.venue-fukuyama{background:#7b5ea7}.venue-outside{background:#c7621e}.event-date-range,.event-time-range{display:flex;align-items:center;justify-content:center;gap:5px}.event-date-range small{margin-left:5px!important}.event-form-page{max-width:1100px}.event-duplicate-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px;padding:16px 20px;background:#fff;border:2px dashed var(--orange);border-radius:12px}.event-duplicate-banner h3{margin:0;font-size:14px}.event-duplicate-banner p{margin:3px 0 0;color:var(--muted);font-size:12px}.event-duplicate-banner>div:last-child{display:flex;gap:8px}.event-duplicate-banner select{max-width:430px;height:43px;padding:0 11px;border:1px solid var(--line);border-radius:8px}.event-card{margin-bottom:18px;padding:24px 26px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 3px 13px rgba(21,37,55,.04)}.event-card h2{margin:0;font-size:17px}.event-card-desc{margin:3px 0 19px;color:var(--muted);font-size:12px}.event-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.event-field{display:grid;gap:7px;margin-bottom:16px}.event-field>span{color:#3d4b5f;font-size:13px;font-weight:800}.event-field em{color:#c84545;font-size:10px;font-style:normal}.event-field input,.event-field select,.program-name input,.event-program select,.event-session input,.exhibit-row input,.exhibit-row select,.mail-setting select,.mail-editor input,.mail-editor textarea{width:100%;padding:10px 12px;color:#253449;font:13px inherit;background:#fff;border:1px solid #cfd7df;border-radius:8px;outline:0}.event-field input,.event-field select{height:44px}.event-field input:focus,.event-field select:focus,.program-name input:focus,.event-session input:focus,.exhibit-row input:focus,.exhibit-row select:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(232,120,50,.12)}.event-form-grid{display:grid;gap:16px}.event-form-grid.two{grid-template-columns:1fr 1fr}.venue-options{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.venue-option{display:flex;align-items:center;gap:8px;padding:12px;border:2px solid var(--line);border-radius:9px;cursor:pointer}.venue-option input{accent-color:var(--orange)}.venue-option:has(input:checked){background:#f2f6fa;border-color:var(--navy)}#outsideVenueField{display:none}#outsideVenueField.visible{display:grid}.event-program{--program-color:#2f6fed;margin-bottom:14px;overflow:hidden;border:1px solid var(--line);border-left:5px solid var(--program-color);border-radius:11px}.event-program-head{display:flex;align-items:center;gap:9px;padding:13px 14px;background:#f7f9fb;border-bottom:1px solid var(--line)}.program-color{display:grid;gap:3px;color:#657386;font-size:9px;font-weight:800}.program-color input{width:38px;height:28px;padding:2px;border:1px solid var(--line);border-radius:5px}.event-program .program-type{width:130px;flex:0 0 130px;color:#fff;font-size:11px;font-weight:800;background:var(--navy-2)}.program-name{display:grid;flex:1;gap:5px}.program-name input:first-child{font-weight:800}.program-name input:last-child{font-size:11px}.program-session-count{padding:4px 8px;color:#59687a;font-size:10px;font-weight:800;background:#e9edf1;border-radius:100px}.session-add{padding:7px 9px;color:#b6541b;font:800 11px inherit;background:#fff5ed;border:1px solid #efc5aa;border-radius:7px}.row-del{width:32px;height:32px;flex:0 0 32px;color:#b43d35;background:#fff;border:1px solid #e2caca;border-radius:7px}.event-session-head,.event-session{display:grid;grid-template-columns:82px 112px 112px minmax(150px,1fr) 78px 112px 32px;align-items:center;gap:8px}.event-session-head{padding:9px 14px;color:#758195;font-size:10px;font-weight:800}.event-session{padding:10px 14px;border-top:1px solid #edf0f3}.event-session input[type=time]{min-width:112px;font-size:14px;font-weight:700}.session-close{display:flex;align-items:center;justify-content:center;gap:5px;min-height:39px;color:#637184;font-size:10px;font-weight:800;background:#f2f4f6;border:1px solid #dce2e8;border-radius:7px}.session-close input{width:16px;accent-color:#c84545}.session-close:has(input:checked){color:#a23d3d;background:#fff0f0;border-color:#eab9b9}.program-note{margin:0 14px 12px;padding:9px 11px;color:#6c5b3d;font-size:10px;background:#fff8e9;border-radius:7px}.manufacturer-note{display:flex;align-items:center;gap:9px;margin-bottom:12px;padding:10px 12px;background:#f2f6fa;border-radius:8px}.manufacturer-note span{color:#6c798a;font-size:10px}.manufacturer-note b{padding:3px 8px;font-size:10px;background:#fff;border-radius:100px}.manufacturer-note a{margin-left:auto;color:#2f6fed;font-size:10px;font-weight:800}.exhibit-head,.exhibit-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,.8fr) 32px;gap:10px}.exhibit-head{padding:0 4px 5px;color:#778394;font-size:10px;font-weight:800}.exhibit-row{margin-bottom:9px;padding:10px;background:#fafbfc;border:1px solid #e3e8ed;border-radius:9px}.add-row-button{width:100%;padding:10px;color:#647184;font:800 12px inherit;background:#fafbfc;border:1px dashed #bdc7d2;border-radius:8px}.mail-setting{display:grid;grid-template-columns:42px 1fr 190px auto;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid #edf0f3}.mail-setting b,.mail-setting small{display:block}.mail-setting small{margin-top:2px;color:var(--muted);font-size:10px}.mail-number{display:grid;width:34px;height:34px;place-items:center;color:#fff;font-size:12px;font-weight:900;background:var(--orange);border-radius:50%}.mail-editor{grid-column:2/-1;display:grid;gap:8px}.mail-editor[hidden]{display:none}.event-form-actions{position:sticky;bottom:0;z-index:5;display:flex;justify-content:flex-end;gap:9px;padding:16px 0;background:var(--bg)}
@media(max-width:900px){.event-duplicate-banner{align-items:flex-start;flex-direction:column}.venue-options{grid-template-columns:1fr 1fr}.event-session-head{display:none}.event-session{grid-template-columns:1fr 1fr}.event-session>*{min-width:0!important}.event-program-head{flex-wrap:wrap}.program-name{order:4;flex-basis:100%}.mail-setting{grid-template-columns:42px 1fr}.mail-setting select,.mail-setting>.btn{grid-column:auto}.mail-editor{grid-column:1/-1}}
@media(max-width:620px){.event-form-grid.two,.venue-options{grid-template-columns:1fr}.event-card{padding:18px}.event-duplicate-banner>div:last-child{align-items:stretch;flex-direction:column;width:100%}.event-session{grid-template-columns:1fr}.event-session .row-del{justify-self:end}.exhibit-head{display:none}.exhibit-row{grid-template-columns:1fr 32px}.exhibit-row select{grid-column:1}.exhibit-row .row-del{grid-column:2;grid-row:1}.event-form-actions{flex-wrap:wrap}.event-form-actions .btn{flex:1}}

/* Neutral venue selector */
.venue-option,.venue-option[class*="venue-"]{color:var(--ink);background:#fff;border-color:#d9e0e7}.venue-option:has(input:checked),.venue-option[class*="venue-"]:has(input:checked){color:var(--ink);background:#f7f8fa;border-color:#929eab;box-shadow:0 0 0 2px rgba(92,106,121,.08)}.venue-option input{accent-color:#697586}

/* Effective reservation status */
.status.scheduled{background:#eef2fb;color:#425d91}

/* Event mail settings */
.mail-enabled{display:flex;align-items:center;gap:6px;margin-top:7px;color:#556477;font-size:11px;font-weight:700}.mail-enabled input{width:16px;height:16px;accent-color:var(--orange)}.mail-template-help{display:block!important;margin:0!important;color:#66778a!important;font-size:10px!important;line-height:1.6}

/* Public reservation */
.public-reservation-page{background:#f3f6f9}.reservation-hero;padding:0}.reservation-hero{padding:34px 20px 56px;color:#fff;text-align:center;background:linear-gradient(155deg,var(--navy-2),var(--navy))}.reservation-company{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:800}.reservation-company img{width:34px;height:34px;object-fit:contain;background:#fff;border-radius:7px}.reservation-hero h1{margin:10px 0 0;font-size:27px}.reservation-hero h1 small{font-size:18px}.reservation-meta{display:flex;justify-content:center;gap:16px;margin-top:14px;color:#cfdae5;font-size:12px;flex-wrap:wrap}.reservation-wrap{width:min(680px,100%);margin:-28px auto 55px;padding:0 18px}.reservation-card{margin-bottom:18px;padding:28px 30px;background:#fff;border-radius:14px;box-shadow:0 10px 28px rgba(20,35,52,.08)}.reservation-card h2{margin:0;font-size:17px}.reservation-card>p{margin:4px 0 18px;color:var(--muted);font-size:12px}.public-field{display:grid;gap:6px;margin-bottom:15px}.public-field span{font-size:13px;font-weight:800}.public-field em{color:#c84545;font-size:10px;font-style:normal}.public-field input{height:47px;padding:0 13px;font:14px inherit;border:1px solid #cfd7df;border-radius:8px;outline:0}.public-field input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(232,120,50,.12)}.public-field small{color:#798697;font-size:10px}.public-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.visit-date-options{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.visit-date-options label,.visit-only-option{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #dce2e8;border-radius:9px;cursor:pointer}.visit-date-options label:has(input:checked),.visit-only-option:has(input:checked){background:#f7f8fa;border-color:#8592a0}.visit-date-options input,.visit-only-option input{accent-color:var(--orange)}.visit-date-options span,.visit-only-option span{display:grid}.visit-date-options small,.visit-only-option small{color:var(--muted);font-size:10px}.visit-only-option{margin-bottom:12px}.booking-program{margin:12px 0;overflow:hidden;border:1px solid var(--line);border-left:5px solid var(--program-color);border-radius:10px}.booking-program>header{display:flex;align-items:center;gap:9px;padding:12px 14px;background:#f7f9fb}.booking-program>header i{width:11px;height:11px;background:var(--program-color);border-radius:3px}.booking-program>header div{display:grid}.booking-program>header small{color:var(--muted);font-size:10px}.booking-sessions{display:grid}.booking-session{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid #edf0f3;cursor:pointer}.booking-session input{accent-color:var(--orange)}.booking-session span{display:grid}.booking-session small{color:var(--muted);font-size:10px}.availability{display:grid;width:34px;height:34px;place-items:center;color:#fff;background:#2b8a66;border-radius:50%}.availability.low{background:#d7982f}.availability.full{background:#697587}.availability.closed{width:auto;padding:0 8px;font-size:9px;background:#8a5961;border-radius:100px}.booking-session.closed{opacity:.65}.reservation-notes p{margin:5px 0;color:#566477;font-size:11px;line-height:1.7}.reservation-notes h3{margin:14px 0 5px;font-size:12px}.privacy-agree{display:flex;align-items:flex-start;gap:9px;margin-bottom:18px;color:#59687a;font-size:12px}.privacy-agree a{color:#245ea9;font-weight:800}.reservation-submit{width:100%;padding:14px;color:#fff;font:900 15px inherit;background:var(--orange);border:0;border-radius:9px}.complete-wrap{margin-top:50px}.reservation-complete{text-align:center}.complete-check{display:grid;width:60px;height:60px;margin:auto;place-items:center;color:#23805a;font-size:28px;background:#e5f5ed;border-radius:50%}.reservation-complete h1{font-size:21px}.reservation-complete dl{margin:22px 0;text-align:left;background:#f6f8fa;border-radius:9px}.reservation-complete dl>div{display:grid;grid-template-columns:90px 1fr;padding:11px 13px;border-bottom:1px solid #e4e8ec}.reservation-complete dt{color:var(--muted);font-size:11px}.reservation-complete dd{margin:0;font-size:12px;font-weight:800}.reservation-complete>small{display:block;margin-top:8px;color:var(--muted)}

/* Reservation administration */
.reservation-event-selector{display:flex;align-items:end;gap:12px;margin-bottom:14px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:10px}.reservation-event-selector label{display:grid;flex:1;gap:6px;color:#455367;font-size:12px;font-weight:800}.reservation-event-selector em{color:#c84545;font-style:normal}.reservation-event-selector select{height:43px;padding:0 11px;border:1px solid #cfd7df;border-radius:8px}.reservation-view-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.reservation-view-toolbar b,.reservation-view-toolbar small{display:block}.reservation-view-toolbar small{color:var(--muted);font-size:10px}.view-switch{display:flex;padding:3px;background:#e9edf1;border-radius:8px}.view-switch button{padding:8px 13px;color:#647184;font:800 12px inherit;background:transparent;border:0;border-radius:6px}.view-switch button.active{color:#fff;background:var(--navy)}.reservation-filter{flex-wrap:wrap}.reservation-filter input{min-width:170px}.reservation-table{min-width:1320px}.reservation-table th,.reservation-table td{text-align:center}.reservation-table td small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.booking-content{max-width:260px;white-space:normal}.qr-state,.reservation-status{display:inline-block;padding:4px 8px;font-size:10px;font-weight:800;background:#edf0f3;border-radius:100px}.qr-state.done,.reservation-status.confirmed{color:#217252;background:#e5f5ed}.reservation-status.waiting{color:#966415;background:#fff1d9}.reservation-status.cancelled{color:#777f8b;background:#eceff2}.reservation-status.checked_in{color:#315f9a;background:#e7effb}
@media(max-width:650px){.reservation-card{padding:21px 18px}.public-grid,.visit-date-options{grid-template-columns:1fr}.reservation-event-selector{align-items:stretch;flex-direction:column}.reservation-filter input{min-width:100%;width:100%}}
.proxy-registration-note{margin-bottom:14px;padding:10px 13px;color:#775124;font-size:12px;font-weight:800;background:#fff5df;border:1px solid #efd39b;border-radius:8px}.assignment-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.assignment-columns h3{margin:0 0 9px;font-size:14px}.assignment-columns h3 small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.assignment-users{display:grid;gap:6px;max-height:330px;overflow:auto}.assignment-users label{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:7px;cursor:pointer}.assignment-users label:has(input:checked){background:#fff8f2;border-color:#e8a77a}.assignment-users input{accent-color:var(--orange)}.assignment-users span{display:grid}.assignment-users b{font-size:12px}.assignment-users small{color:var(--muted);font-size:9px}@media(max-width:700px){.assignment-columns{grid-template-columns:1fr}}
