.top-button {
    display: inline-block;
    margin-bottom: 12px;
    padding: 8px 13px;
    border: 1px solid #d9e1e8;
    border-radius: 4px;
    background: #fff;
    color: #17365d;
    font-weight: 700;
    text-decoration: none;
}
.menu-block{padding:22px;border:1px solid #c8d4df;border-radius:9px;margin-bottom:26px}.menu-operations{background:#eaf3ff}.menu-settings{background:#fff4dc}.menu-row{display:grid;gap:18px;margin-bottom:18px}.menu-row:last-child{margin-bottom:0}.menu-row.one{grid-template-columns:1fr}.menu-row.two{grid-template-columns:repeat(2,1fr)}.menu-row.three{grid-template-columns:repeat(3,1fr)}.menu-block .menu-card{min-height:94px}.menu-operations .menu-card{border-left-color:#3278bd}.menu-settings .menu-card{border-left-color:#d79614}
.menu-row.four{grid-template-columns:repeat(4,1fr)}.menu-row.five{grid-template-columns:repeat(5,1fr)}.notice-panel{margin-top:30px;padding:0;overflow:hidden;background:#fff;border:1px solid #cbd6e1;border-radius:9px;box-shadow:0 1px 3px #17365d12}.notice-panel h2{display:flex;align-items:center;gap:9px;margin:0;padding:15px 24px;background:#eef4fa;border-bottom:1px solid #d6e0e9;color:#17365d;font-size:21px}.notice-panel h2::before{content:'i';box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding-bottom:1px;border:2px solid #3975a8;border-radius:50%;color:#3975a8;font-family:"Times New Roman",Georgia,serif;font-size:15px;font-style:normal;font-weight:700;line-height:1}.notice-content{padding:20px 24px 22px;line-height:1.8;white-space:normal}.notice-content>:first-child{margin-top:0}.notice-content>:last-child{margin-bottom:0}.rich-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px;background:#eef3f8;border:1px solid #c8d4df;border-radius:5px}.rich-toolbar label{display:flex;align-items:center;gap:6px}.rich-toolbar input,.rich-toolbar select{display:inline-block;width:auto;margin:0}.rich-toolbar input[type="color"]{width:42px;height:32px;padding:2px}.rich-editor{min-height:280px;margin-bottom:18px;padding:16px;background:#fff;border:1px solid #aebdca;border-radius:4px;line-height:1.7}.rich-editor:focus{outline:2px solid #2f75b5;border-color:#2f75b5}
table{border:1px solid #bccad7}th,td{padding:12px 14px;border-color:#c6d2dd}.primary,.button,.danger,button{padding:10px 18px}.action-buttons{display:flex;gap:10px;flex-wrap:nowrap;min-width:236px}.request-action{display:inline-flex;align-items:center;justify-content:center;min-width:72px;height:36px;padding:7px 11px;border-radius:4px;color:#fff;text-decoration:none;font-weight:700;white-space:nowrap}.action-blue{background:#2f75b5}.action-green{background:#238636}.action-red{background:#b42318}.action-gray{background:#586574}.edit-action{background:#e8eef5;color:#17365d}.request-action.disabled{opacity:.28;cursor:not-allowed;pointer-events:none}.status.storage,.status.restore{background:#dcecff;color:#1858a4}.status.delivery{background:#dff4e5;color:#176b36}.status.discard{background:#fde2e1;color:#9b1c1c}.status.erase{background:#e5e9ed;color:#34404c}
.customer-checks{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;margin:16px 0;max-height:430px;overflow:auto;border:1px solid #d9e1e8;padding:16px}.customer-checks .checkbox{display:flex;align-items:center;gap:9px}textarea[name="custom_css"]{font-family:Consolas,monospace;width:100%}
.duplicate-row td{background:#fff0f0;border-top-color:#d92d20;border-bottom-color:#d92d20}.duplicate-row td:first-child{border-left:3px solid #d92d20}.row-warning{max-width:170px;margin-top:7px;color:#b42318;font-size:12px;font-weight:700}.duplicate-row input[name="management_no[]"]{border:2px solid #d92d20;background:#fff7f7}
.requests-scroll{overflow-x:visible}.requests-table{width:100%;table-layout:fixed;font-size:11px}.requests-table th,.requests-table td{padding:7px 5px;word-break:break-word;overflow-wrap:anywhere}.requests-table th{white-space:normal}.requests-table .c-management{width:7%}.requests-table .c-customer{width:7%}.requests-table .c-type{width:6%}.requests-table .c-state{width:5%}.requests-table .c-date{width:7%}.requests-table .c-time{width:4%}.requests-table .c-dept{width:5%}.requests-table .c-contact{width:6%}.requests-table .c-note{width:7%}.requests-table .c-actions{width:16%}.requests-table .c-edit,.requests-table .c-delete{width:5%}.requests-table .action-buttons{min-width:0;gap:4px;justify-content:center}.requests-table .request-action{min-width:52px;height:30px;padding:4px 6px;font-size:11px;white-space:nowrap}.requests-table td form{margin:0}.delete-action{background:#7f1d1d;color:#fff;border:0}
.ui-editor-toolbar{position:fixed;right:22px;bottom:22px;z-index:1000;padding:10px;background:#fff;border:1px solid #b9c7d5;border-radius:7px;box-shadow:0 4px 18px #0003}.ui-editable-text{outline:2px dashed #e28b00;background:#fff8d9;min-width:12px;display:inline-block;cursor:text}.user-table .col-no,.user-table .col-role,.user-table .col-edit{width:1%;white-space:nowrap}.user-table .col-code{width:18%;white-space:nowrap}.user-table .col-name{width:auto}
.ui-editor-toolbar{display:flex;align-items:center;gap:10px}.ui-editor-toolbar label{display:flex;align-items:center;gap:5px}.ui-editor-toolbar input[type="color"]{display:inline-block;width:38px;height:30px;margin:0;padding:2px}.ui-editable-text.selected{outline:3px solid #2563eb}.ui-text-editing input,.ui-text-editing select,.ui-text-editing textarea{cursor:not-allowed}.user-add-form .form-grid{grid-template-columns:repeat(2,1fr)}.user-filters{display:grid;grid-template-columns:2fr 1fr 1fr 2fr;align-items:end;gap:14px}.user-filter-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.user-filter-actions .button,.user-filter-actions button{width:100%;margin:0}.user-table .col-input-type,.user-table .col-delete{width:1%;white-space:nowrap}.user-table td form{margin:0}.user-table .danger{white-space:nowrap}#storage-form button{white-space:nowrap;min-width:max-content}
.form-grid{row-gap:22px}.form-grid input,.form-grid select,.form-grid textarea,.filters input,.filters select{margin-top:8px}.panel>label{display:block;margin-top:4px;margin-bottom:20px}.panel>label+label{margin-top:0}.filters label,.user-filters label,.form-grid label{margin-bottom:0}
a,button,input[type="button"],input[type="submit"],input[type="reset"],select,.menu-card,.request-action{transition:opacity .2s ease}a:hover,button:hover,input[type="button"]:hover,input[type="submit"]:hover,input[type="reset"]:hover,select:hover,.menu-card:hover,.request-action:hover{opacity:.7}
.request-action.disabled,.request-action.disabled:hover{opacity:.28}
table th,table td{vertical-align:middle}.requests-table th:nth-child(3),.requests-table td:nth-child(3),.requests-table th:nth-child(4),.requests-table td:nth-child(4){text-align:center}
.requests-table th:nth-child(5),.requests-table td:nth-child(5),.requests-table th:nth-child(6),.requests-table td:nth-child(6),.requests-table th:nth-child(7),.requests-table td:nth-child(7),.requests-table th:nth-child(8),.requests-table td:nth-child(8){text-align:center}.sort-link{display:flex;align-items:center;justify-content:center;gap:3px;text-decoration:none}.sort-controls{display:inline-flex;flex-direction:column;gap:1px}.sort-arrow{display:flex;align-items:center;justify-content:center;width:16px;height:13px;border:1px solid #aebdca;border-radius:2px;background:#fff;color:#8a99a8;font-size:8px;line-height:1}.sort-arrow.active{border-color:#2f75b5;background:#2f75b5;color:#fff}.pagination{display:flex;align-items:center;justify-content:center;gap:7px;margin:22px 0}.page-button,.pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid #b9c7d5;border-radius:4px;background:#fff;color:#17365d;text-decoration:none;font-weight:700}.page-button.current{border-color:#2f75b5;background:#2f75b5;color:#fff}.pagination-ellipsis{border:0;background:transparent;color:#52616b}.required-note{margin-top:-8px;margin-bottom:16px}.required-mark{margin-left:3px;color:#d00000;font-weight:700}.color-palette-control{position:relative}.color-palette{position:absolute;top:100%;left:0;z-index:1100;display:grid;grid-template-columns:repeat(9,26px);gap:5px;width:max-content;margin-top:5px;padding:10px;background:#fff;border:1px solid #aebdca;border-radius:5px;box-shadow:0 5px 18px #0003}.color-palette[hidden]{display:none}.color-swatch{width:26px;height:26px;min-width:0;padding:0;border:1px solid #8a99a8;border-radius:2px}.color-swatch:hover{outline:2px solid #2f75b5;opacity:1}
.page-button.disabled{opacity:.35;pointer-events:none}.page-arrow{font-size:22px}.customer-combobox{position:relative}.customer-search{padding-right:32px}.customer-options{position:absolute;z-index:1050;top:100%;left:0;right:0;max-height:320px;overflow-y:auto;background:#fff;border:1px solid #aebdca;border-radius:0 0 5px 5px;box-shadow:0 6px 18px #0002}.customer-option{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:0;border-bottom:1px solid #e4eaf0;border-radius:0;background:#fff;color:#1f2933;text-align:left;font-weight:500}.customer-option small{color:#6b7785}.customer-option[hidden],.customer-options[hidden]{display:none}.customer-option:hover{background:#eaf3ff;opacity:1}
.storage-common{grid-template-columns:repeat(2,1fr);margin:18px 0 22px}.row-add-controls{display:flex;align-items:stretch;gap:10px;margin-top:16px}.row-add-controls input{box-sizing:border-box;width:4.5em;min-width:4.5em;margin:0;padding-left:8px;padding-right:4px}.row-add-controls button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin:0}
html{overflow-y:scroll}.menu-card{display:flex;align-items:center}.menu-card strong{margin-bottom:0}.csv-export-button{background:#e87500;color:#fff;border:1px solid #c65f00}
.request-filter-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-column:span 2;align-self:end;gap:14px;margin:0}.request-filter-actions .button,.request-filter-actions button{width:100%;margin:0}.filter-reset-button{background:#fff;color:#17365d;border:1px solid #b9c7d5}.request-search-button{background:#e8eef5;color:#17365d;border:1px solid #d5dfe9}.role-admin .filter-reset-button{background:#e8eef5;border-color:#d5dfe9;color:var(--navy)}.role-admin .request-search-button{background:var(--blue);border-color:var(--blue);color:#fff}
.header-user{display:flex;align-items:center;gap:16px;font-weight:700}.logout-button{padding:8px 16px;border:1px solid #fff;background:#fff;color:#17365d;box-shadow:0 1px 4px #0004}.logout-button:hover{background:#eaf3ff}
:root{--control-height:42px}
input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="color"]),select{height:var(--control-height);padding-top:0;padding-bottom:0}
button,.button,.primary,.danger,.top-button,.logout-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:var(--control-height);min-height:var(--control-height);padding-top:0;padding-bottom:0;vertical-align:middle;line-height:1.2}
textarea{padding:10px;line-height:1.5}.checkbox input{height:auto;min-height:0}.ui-editor-toolbar input[type="color"]{height:30px;min-height:30px}.page-button,.pagination-ellipsis{height:38px;min-height:38px}.requests-table .request-action{height:30px;min-height:30px}.customer-option{height:auto;min-height:42px;padding-top:8px;padding-bottom:8px}
.requests-table .status{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:5.8em;min-width:5.8em;height:24px;padding:3px 6px;line-height:1;letter-spacing:0;text-align:center}.requests-table .status.restore{letter-spacing:.08em;text-indent:.08em}.requests-table .status.delivery,.requests-table .status.discard{letter-spacing:.22em;text-indent:.22em}
.request-note{height:var(--control-height);min-height:var(--control-height);overflow:hidden;resize:none;white-space:nowrap}.form-actions{display:flex;align-items:center;gap:12px;margin-top:24px}.form-actions button{margin:0}input::placeholder,textarea::placeholder{color:#8a99a8;opacity:1}

/* 全画面を一段階拡大。横幅も同じ比率で広げ、既存の列構成を維持する。 */
body{font-size:15px}
header{height:68px;padding-left:32px;padding-right:32px}
.brand{font-size:24px}
main{width:1320px;max-width:calc(100% - 48px);margin-top:28px;margin-bottom:56px}
h1{font-size:28px;margin-bottom:22px}
.panel{padding:22px;margin-bottom:22px}
.login{width:460px}
.menu-block{padding:24px}.menu-card{padding:24px}.menu-card strong{font-size:20px}
:root{--control-height:44px}
button,.button,.primary,.danger,.top-button,.logout-button{font-size:15px}
input,select,textarea{font-size:15px}
th,td{padding:13px 15px}
.requests-table{font-size:12px}
.requests-table .request-action{font-size:12px}
.help,.row-warning{font-size:13px}
footer{font-size:15px;padding:28px}

.message-settings-group h2{margin:0 0 18px;color:var(--navy);font-size:21px}.message-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.message-settings-grid label{min-width:0}.message-settings-grid textarea{min-height:76px;resize:vertical}.message-default{display:block;margin-top:6px;color:#6b7785;font-size:12px;line-height:1.5}

/* 権限ごとに切り替え可能な配色テンプレート */
body.theme-green{--navy:#245b46;--blue:#3f8767}
.theme-green .top-button,.theme-green h1,.theme-green h2,.theme-green .menu-card strong,.theme-green th,.theme-green th a,.theme-green .sort-link{color:#245b46}
.theme-green .menu-operations,.theme-green .menu-settings{background:#eaf5ef;border-color:#bfd5c9}
.theme-green .menu-operations .menu-card,.theme-green .menu-settings .menu-card{border-left-color:#3f8767}
.theme-green .primary,.theme-green .page-button.current,.theme-green .sort-arrow.active{background:#3f8767;border-color:#3f8767;color:#fff}
.theme-green .notice-panel h2{background:#edf6f1;border-bottom-color:#cfdfd6;color:#245b46}
.theme-green .notice-panel h2::before{border-color:#3f8767;color:#3f8767}
.theme-green .customer-option:hover{background:#eaf5ef}
.role-admin.theme-green .menu-settings{background:#f5f1e7;border-color:#d9cfb6}
.role-admin.theme-green .menu-settings .menu-card{border-left-color:#a68b55}
.role-admin.theme-green .menu-settings .menu-card strong{color:#66532d}
.admin-notice-panel{margin-bottom:30px}.admin-notice-heading{align-items:flex-start}.admin-notice-heading::before{margin-top:2px}.admin-notice-heading-text{display:flex;flex-direction:column;gap:5px}.admin-notice-heading-text small{color:#52616b;font-size:13px;font-weight:600;line-height:1.5}
.menu-row.six{grid-template-columns:repeat(6,minmax(0,1fr))}

/* 新規保管登録と入力タイプ管理 */
#items .storage-remove-cell{text-align:center;vertical-align:middle}#items .storage-remove-cell .remove{margin-left:auto;margin-right:auto}
.input-type-field-row{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:12px;margin-bottom:12px}.input-type-field-row input{margin:0}.input-type-field-row .checkbox{display:flex;align-items:center;gap:6px;white-space:nowrap}.input-type-field-row .checkbox input{width:auto;margin:0}.input-type-field-row button{margin:0}

/* 追加レイアウト調整 */
.form-grid{margin-bottom:18px}
.requests-table .action-buttons{display:flex;flex-wrap:nowrap;justify-content:space-evenly}
.sort-controls{margin-left:3px}
.requests-table td:nth-child(13){text-align:center}
.notice-panel h2{display:flex;align-items:center;gap:9px;margin:0;padding:15px 24px;background:#eaf3ff;color:#17365d;font-size:21px;border-bottom:none}
.notice-content{padding:15px 24px 14px}
.notice-panel h2::before{padding-bottom:0;font-weight:bold;color:#17365d;border:2px solid #17365d}
/* 管理画面は説明文を含むため、iマークの中心を「お知らせ」の行に合わせる。 */
.notice-panel h2.admin-notice-heading{align-items:flex-start}.admin-notice-heading-text{line-height:1.2}.notice-panel h2.admin-notice-heading::before{margin-top:2px}

.request-state.cancelled{color:#c1121f;font-weight:800}.request-state.modified{color:#8a5700;font-weight:800}.cancel-action{background:#c1121f;color:#fff}.cancelled-row{background:#fff1f1}.cancelled-row td{border-color:#e9b8bc}.row-number{text-align:right;color:#52616b;font-weight:700}.filters{grid-template-columns:repeat(4,minmax(0,1fr))}

.requests-scroll{overflow-x:auto}.requests-table{width:max-content;min-width:100%;table-layout:auto}.requests-table .action-buttons{min-width:248px}.requests-table th,.requests-table td{word-break:normal;overflow-wrap:normal}.requests-table td{white-space:nowrap}


.requests-table .request-button-cell{text-align:center}.requests-table .request-button-cell form{display:flex;justify-content:center;align-items:center;width:100%}.requests-table .request-button-cell .request-action{margin-left:auto;margin-right:auto}

.modified-row{background:#fff8d9}.modified-row td{border-color:#e5d58f}
