img {border:0px;}
form {margin:0px;}

dl {
	display:inline;
}
dl,dt,dd {
	margin:0;
	padding:0;
}

p {margin:2px 0;}

/*
 * body
 */
body {
	text-decoration:none;
	color:#494949;
	margin:0px;
	padding:0px;
	font-size:80%;
	font-family:Arial, sans-serif;
}

optgroup {
	font-style:normal;
}
/*body {color:#000000; margin:0px; padding:0px; text-decoration:none;font-size:80%;background-color:#FFFFFF;}*/
div.outerdiv {
	padding:5px;
}
.head {
	border:0px;
	white-space:nowrap;
	padding:4px 3px;
	vertical-align:top;
}
.foot {
	border:0px;
	white-space:nowrap;
	padding:4px 3px;
}
.note {
	background-color:#f3f3f3;
}
/*
.head {border:1px solid #e0e0e0; white-space:nowrap;}
.foot {border:1px solid #e0e0e0; white-space:nowrap;}
.note {background-color:#f0ffff;}
*/
/*
 * Table
 */
table {
	border-width:0px;
	padding:0px;
	border-collapse:collapse;
	font-size: small;
}
table.outer {
	width:100%;
	margin:0px;
	padding:0px;
	border:0px;
}
table.outer th {
	padding:5px;
	border:0px;
	white-space:nowrap;
	font-weight:normal;
	text-align:left;
}
table.outer th.head{
	background-color:#f2f3f1;
}
.row {
	padding:5px;
	vertical-align:top;
	border:0px;
}
tr.row td {
	padding:5px;
	vertical-align:top;
	border:0px;
}
td,th {
	padding:0px;
}

/*
table.outer {width:100%; margin:0px; padding:0px; border-collapse:collapse; border-top:1px solid #aaaaaa; border-left:1px solid #aaaaaa; border-right:1px solid #666666; border-bottom:1px solid #666666;}
table.outer th {padding:2px; border-top:1px solid #666666; border-left:1px solid #666666; border-right:1px solid #cccccc; border-bottom:1px solid #cccccc; background-color:#f2f3f1; white-space:nowrap; font-weight:normal;}
.row {padding:2px; vertical-align:middle; border:1px solid #e0e0e0;}
tr.row td {padding:2px; vertical-align:middle; border:1px solid #e0e0e0;}
*/
/*
 * TextArea(WYSIWYG)
 * 描画時には、広さがうまく取得できないためcomp_textarea.cssから移動
 */
.comptextarea {
	visibility :hidden;
	font-size: small;
	width:520px;
	height:270px;
}
/*
 * Grid Table
 */
table.grid_header {
	border-left : 1px solid #b8b8b8;

}
table.grid {
	/*table-layout : fixed;*/
	border-left  : 1px solid #ababab;
	border-bottom : 1px solid #e0e0e0;
}

table.grid_header th {
	padding : 2px 2px 2px 3px;
	border-top : 1px solid #b8b8b8;
	border-right : 1px solid #b8b8b8;
	background-color : #f0f4f7;
	text-align:left;
	overflow:hidden;
	font-weight:normal;
}


td.grid_row,tr.grid_row td {
	padding : 2px 2px 2px 3px;
	margin : 0px;
	border-bottom : 1px solid #e0e0e0;
	border-right : 1px solid #e0e0e0;
	height : 22px;
	overflow : hidden;
	line-height: 12px;
}

.grid_change_disp {
	width:30px;
}
.grid_name {
	width:150px;
}
.grid_operate {
	width:100px;
}
.grid_creator {
	width:120px;
}
.grid_create_date {
	width:100px;
}
.grid_manage {
	width:150px;
}

th.grid_sort:hover {
	background-color:#faf8f3;
	text-decoration:none;
	border-bottom:solid 2px #f9b119;
	border-collapse:separate;
}

/*
 * 共通
 */
.deadline {
	background-color:#ffdddd;
	color:#ff0000;
}
.errorstr {
	color:#ff0000;
}
.warnstr {
	color:#0000ff;
}
.require {
	color:#ff0000;
}

tr.current,div.current {
	background-color:#fff7de;
	color:#d64728;
	white-space:nowrap;
}

/*
 calendar
*/
.comp_calendar_icon {
	margin: 0px 3px;
}
.comp_calendar_text {
	width:80px;
}

/*
 textarea(FireFox用）
*/
textarea {
	font-size: small;
	line-height: 1.5;
}

/*
 * a
 */
a,a:link {
	color:#04419a;
/* text-decoration:none; */
}
a:hover {
	color:#0000ff;
}
a:visited,a:active {
	color:#551a8b;
}

a.link,a.link:link {
	color:#04419a;
	text-decoration:none;
}
a.link:visited {
	color:#04419a;
	text-decoration:none;
}
a.link:hover {
	color:#0000ff;
	text-decoration:none;
}
a.link:active {
	color:#04419a;
	text-decoration:none;
}

a.syslink,a.syslink:link {
	color:#5c9084;
	text-decoration:none;
}
a.syslink:visited {
	color:#1f704c;
	text-decoration:none;
}
a.syslink:hover {
	color:#006400;
	text-decoration:none;
}
a.syslink:active {
	color:#5c9084; text-decoration:none;
}

a.menulink,a.menulink:link {
	color:#494949;
	text-decoration:none;
}
a.menulink:visited {
	color:#494949;
	text-decoration:none;
}
a.menulink:hover {
	color:#4e62a9;
	text-decoration:none;
}
a.menulink:active {
	color:#494949;
	text-decoration:none;
}

/*モジュール名称*/
._mod_title {
	text-align:center;
	overflow:hidden;
	width:110px;
	white-space:nowrap;
}

/* モジュール */
.module_box {
}

/*ブロック-リンク*/
a.blockLink {
	background-color:#f06f1d;
	color:#ffffff;
	display:block;
}

/* hr */
div.hr {
	border-top:none;
	border-left:none;
	border-right:none;
	border-bottom:1px solid #cccccc;
	margin-top:5px;
	margin-bottom:5px;
}

/* ツールチップ */
.tooltip {
	position:absolute;
	visibility:hidden;
	padding:5px;
	border:1px solid #000000;
	background-color:#ffffdd;
	font-size:80%;
}

/* ポップアップ */
.popupClass {
	position:absolute;
	visibility:hidden;
	display:none;
	padding:5px;
	border: 1px solid;
	border-color: #f1f1e9 #727272 #727272 #f1f1e9;
	background-color:#ffffff;
	/*white-space:nowrap;*/
}
iframe.popupIframe {
	position:absolute;
	border:0px;
}
/* wizard関連 */
input.lined_btn {
	margin-left:5px;
}
div.top_description {
	padding:5px;
}
td.selectlist {
	text-align: center;
	padding-top:5px;
}
td.selectlist_arrow_btn_area {
	text-align: center;
	vertical-align:middle;
	white-space:nowrap;
	padding:5px;
}
select.selectlist {
	width:180px;
	height:250px;
}

/* contextMenu関連 */
div.contextMenu {
	padding:3px;
	border:1px solid #aca899;
	border-left:1px solid #666666;
	border-right:1px solid #666666;
	background-color:#FFFFFF;
}
div.contextRow {
	padding-left:15px;
	padding-right:15px;
	white-space:nowrap;
	color:#000000;
}
div.contextDisableRow {
	padding-left:15px;
	padding-right:15px;
	white-space:nowrap;
	color:#aca899;
}

div.contextHighlight {
	background-color:#316ac5;
	color:#ffffff;
}

/* ToolTip */
.tooltipClass {
	position:absolute;
	visibility:hidden;
	padding:5px;
	border:1px solid #000000;
	background-color:#ffffcc;
	color:#000000;
	white-space:nowrap;
}

/* クリック不可リンクラベル色 */
.disable_lbl {
	color:#aca899;
}

/* 印刷プレビュー */
.print_preview {
	background-color:#ffffff;
}
.print_header {
	background-color:#eeeeee;
	text-align:right;
	padding:5px;
}
/*
 * Javascript,Cookie無効エラー時
 */
div.errorHeaderMsg {
	background-color:#ffcccc;
	text-align:center;
	border-top:1px solid #ddddff;
	border-left:1px solid #ddddff;
	border-right:1px solid #aaaaaa;
	border-bottom:1px solid #aaaaaa;
	font-weight:bold;
	padding:10px;
}

/*
 * デバッグDIV定義
 */
.logger {
	font-size:12px;
}
.logger_block{
	border: 1px solid #cc0033;
	background-color:#faebd7;
}
.logger_notice{
	color: #000000;
}
.logger_warning{
	color: #ff6600;
}
.logger_error{
	color: #ff0000;
}
.logger_debug{
	color: #0000ff;
}
.logger_trace{
	color: #0000ff;
}
.logger_other{
	color: #336600;
}
.logger_sql{
	color: #336600;
}

/*レイアウトON時ヘッダー*/
/*.th_layout_header {
	display:none;
}*/


/*loading画像*/
.loading {
	width:16px;
	height:16px;
	border:0px;
	position:absolute;
	left:-100px
}

/* アイコン画像 */
img.icon {
	vertical-align:middle;
}
/* 登録ボタン等の広さ */
.btn-width {
	width:75px;
	padding:0.2em;
}
/* 一時保存ボタンの広さ */
.tempbtn-width {
	width:100px;
	padding:0.2em;
}

/* 登録ボタン等の枠 */
.btn-bottom {
	margin-top:5px;
	text-align:center;
}

/* redirect */
.redirect_body {
	background-color:#ffffff;
}
.redirect_main{
	margin: 120px 150px 80px;
	text-align:left;
}
.redirect_text{
	padding-left:8px;
	font-size:210%;
}
.redirect_subtext{
	padding-left:8px;
	padding-top:50px;
	font-size:130%;
	font-weight:bold;
}

.redirect_subtext_link{
	color:#5081c9;
	text-decoration:underline;
}
/* text-box*/
span.blocktext,div.blocktext {
	white-space:nowrap;
	vertical-align:middle;
	border-top:2px solid #666666;
	border-left:2px solid #666666;
	border-right:1px solid #cccccc;
	border-bottom:1px solid #cccccc;
	background-color:#FFFFFF;
}


.nc_block_title {
	width:100%;
	white-space:nowrap;
}

/* highlight */
.highlight {
	background-color:#e9f2fb;
	color:#4e62a9;
}

a.hover_highlight,a.hover_highlight:link {
	text-decoration:none;
}
a.hover_highlight:visited {
	text-decoration:none;
}
a.hover_highlight:hover {
	color:#4e62a9;
	background-color:#e9f2fb;
	text-decoration:none;
}
a.hover_highlight:active {
	text-decoration:none;
}

#header_menu {
	border-bottom: 1px solid #dfe4e7;
}

/* title用 */

h2.nc_block_title {
	height:1.1em;
	font-size:120%;
}

/* 月別一覧回数関連 */
table.monthlynumber_list {
	border-collapse:collapse;
	width:100%;
	margin:0px;
	padding:0px;
	border:1px solid #cccccc;
}
table.monthlynumber_list th {
	padding:2px 8px; border:0px;
	background-color:#f2f3f1;
	white-space:nowrap;
	font-weight:normal;
}
table.monthlynumber_list td {
	border:1px solid #cccccc;
	padding:2px 8px;
	white-space:nowrap;
}


/*
 * 一般
 */
h1,h2,h3,h4,h5,h6 {
	line-height:normal;
	padding:0px;
	margin:0px;
	margin-bottom:5px;
}
.widthmax {
	width:100%;
}
.widthauto {
	width:auto;
}

.nowrap {
	white-space:nowrap;
}

.valign-top {
	vertical-align:top;
}
.valign-middle {
	vertical-align:middle;
}
.valign-bottom {
	vertical-align:bottom;
}
.align-left {
	text-align:left;
}
.align-right {
	text-align:right;
}
.align-center {
	text-align:center;
}
.bold {
	font-weight:bold;
}

.float-left {
	float:left;
}
.float-right {
	float:right;
}
.float-clear {
	clear: both;
}
br.float-clear {
	clear: both;
	line-height:0px;
}
div.float-clear-div {
	line-height:0px;
	display:block;
	margin:0;
	padding:0;
	clear:both;
	height:0;
	border:none;
	visibility:hidden;
	font-size:0;
}

.visible-hide {
	visibility:hidden;
}
.display-block {
	display:block;
}
.display-none {
	display:none;
}
.collapse_separate {
	border-collapse: separate;
}
/* 引用 */
blockquote.quote {
	border-left:2px solid #cccccc;
	padding-left:5px;
	margin:0px 0px 0px 25px;
}

/* 共通入力項目 */
input.text {
	width:250px;
}
input.mail_subject {
	width:250px;
}
input.date {
	width:75px;
}
textarea.mail_body {
	width:300px;
	height:200px;
}
textarea.textarea {
	width:450px;
	height:80px;
}
body {line-height:1.5}
.container {
border-collapse:collapse;
}
.leftcolumn {
border: 0px none;
width:20%;
}
.centercolumn {
border: 0px none;
width:80%;
}
.rightcolumn {
border: 0px none;
width:20%;
}
.headercolumn {
border: 0px none;
width:auto;
}
.footercolumn {
border: 0px none;
width:auto;
}
.main_column {
}
.headercolumn_on {
border-bottom:1px solid #cccccc;
}
.leftcolumn_on {
border-right:1px solid #cccccc;
}
.rightcolumn_on {
border-left:1px solid #cccccc;
}
.enlarged_display {
padding:10px;
}
.column_movedummy div {
border:2px dashed #ffd700;
overflow:hidden;
}
.select_leftcolumn {
border:2px solid #ffd700;
}
.select_centercolumn {
border:2px solid #ffd700;
}
.select_rightcolumn {
border:2px solid #ffd700;
}
.select_headercolumn {
border:2px solid #ffd700;
}
.addmobule_box {
padding:8px 8px 2px 8px;
}
div.headercolumn_menu {
background-color:#ffffff;
}
table#header_menu a.menulink,
table#header_menu a.menulink:link,
table#header_menu a.menulink:visited,
table#header_menu a.menulink:active,
table#header_menu a.menulink:hover {
color:#7a858f;
}
table#header_menu {
width:100%;
text-align:left;
}
table#header_menu td.menu_right {
text-align:right;
vertical-align:middle;
white-space:nowrap;
padding:4px 0px 4px 4px;
}
table#header_menu td.menu_left {
text-align:left;
vertical-align:middle;
padding:0px;
white-space:nowrap;
}
table#header_menu .header_btn_left {
vertical-align:middle;
padding:0px 6px;
}
table#header_menu .header_btn {
vertical-align:middle;
padding:0px 6px;
border-left:1px solid #9999cc;
}
table#header_menu .header_icon {
margin:0px 2px;
}
table#header_menu .setting_end_btn {
color:#74ad69;
}
table#footerbar {
text-align:right;
color:#a3a3a3;
vertical-align:middle;
font-size:80%;
font-weight:bold;
width:100%;
}
table#footerbar .copyright {
text-align:right;
color:#a3a3a3;
vertical-align:middle;
font-size:90%;
font-weight:bold;
padding:0 8px;
}
div#centercolumn_inf_mes {
padding:5px;
border:1px solid #cccccc;
margin:5px;
text-align:center;
}
div#centercolumn_inf_mes div {
padding:3px;
}

.move_bar {
cursor:move;
}
.th_headermenu_title {
width:100%;
margin-bottom:5px;
}
.th_headermenu_line_title_header {
padding-top:2px;
vertical-align:top;
width:10px;
}
.th_headermenu_round_title_header {
padding-top:2px;
vertical-align:top;
width:25px;
}
/* Shared structure for the additional page/block designs. Scoped so existing themes keep their appearance. */
.nc2-design-block {
  --nc2-design-body-color:#293447;
  box-sizing:border-box; max-width:100%; min-width:0; margin:0; padding:0;
  border:1px solid var(--nc2-design-border,#cad3dc); border-radius:var(--nc2-design-radius,12px);
  font-family:var(--nc2-design-body-font,"Noto Sans JP","Yu Gothic",sans-serif);
  background:#fff; color:var(--nc2-design-body-color,#293447); overflow:visible; box-shadow:0 3px 12px rgb(26 40 52 / 5%);
}
.nc2-design-block > .nc_block_title {
  box-sizing:border-box; height:auto; min-height:44px; margin:0;
  padding:var(--nc2-design-title-padding,16px 20px);
  border-radius:max(0px,calc(var(--nc2-design-radius,12px) - 1px)) max(0px,calc(var(--nc2-design-radius,12px) - 1px)) 0 0;
  background:var(--nc2-design-title-bg,#edf2f6); color:var(--nc2-design-title-fg,#293d54);
  font-family:var(--nc2-design-title-font,"Noto Sans JP","Yu Gothic",sans-serif);
  font-size:18px; font-weight:var(--nc2-design-title-weight,700); line-height:1.6; white-space:normal; overflow-wrap:anywhere;
}
.nc2-design-block > .content {
  box-sizing:border-box; min-width:0; max-width:100%; padding:var(--nc2-design-content-padding,20px);
  color:var(--nc2-design-body-color,#293447); line-height:1.8;
}
.nc2-design-block > .content a:not([class*="btn"]) { color:var(--nc2-design-link,#245c8a); text-underline-offset:3px; }
.nc2-design-block :is(input,select,textarea) { box-sizing:border-box; max-width:100%; }
.nc2-design-block > ._headermenu { padding:8px 12px 0; }
@media (max-width:700px) {
  .nc2-design-block > .nc_block_title { padding:12px; }
  .nc2-design-block > .content { padding:14px; }
}
@media print {
  .nc2-design-block { border-color:#777; box-shadow:none; }
  .nc2-design-block > .nc_block_title { background:#fff; color:#111; }
}


/* Current-browser enhancements: retain the original table geometry and themes. */
.nc2-web td.control_panel[data-control-root] {
    height: auto;
    min-height: 0;
}
.nc2-web [data-control-root] > .content > div {
    display: flow-root;
}
.nc2-window {
    box-sizing: border-box;
    min-width: 200px;
    border: 1px solid #bac5d2;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 24px rgb(15 23 42 / 16%);
}
.nc2-window > .nc2-window__bar {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 42px;
    padding: 4px 6px 4px 12px;
    border-bottom: 1px solid #dbe2ea;
    border-radius: 11px 11px 0 0;
    background: #f5f7fa;
    color: #334155;
    cursor: move;
    user-select: none;
}
.nc2-window__title {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 600;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.nc2-window .nc2-window__close {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #475569;
    font: 24px/1 Arial, sans-serif;
    cursor: pointer;
}
.nc2-window .nc2-window__close:hover {
    background: #e2e8f0;
    color: #0f172a;
}
.nc2-window__body {
    padding: 8px;
    border-radius: 0 0 11px 11px;
    background: #fff;
}
.nc2-window__actions { display: flex; align-items: center; gap: 6px; }
.nc2-edit-toolbar {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 8px;
    min-height: 36px;
    border: 1px solid #bac5d2;
    border-radius: 8px;
    background: #f5f7fa;
    box-shadow: 0 4px 12px rgb(15 23 42 / 12%);
}
.nc2-edit-toolbar__title { flex: 1; min-width: 0; cursor: move; }
.nc2-edit-toolbar__actions { display: flex; align-items: center; gap: 4px; }
.nc2-web .nc2-edit-toolbar { gap: 6px; padding: 3px 6px; }
.nc2-web .nc2-edit-toolbar__actions > a { box-sizing: border-box; min-height: 28px; padding: 2px 8px; }
/* An unnamed module keeps a compact, keyboard-accessible title entry. */
.nc2-module-title-add { display: none; box-sizing: border-box; min-width: 60px; min-height: 28px; padding: 2px 1px; border: 1px solid #cbd5e1; border-radius: 5px; background: #fff; color: #334155; font: 12px/1.4 sans-serif; white-space: nowrap; cursor: pointer; }
.nc2-module-title-add:hover { background: #e8edf4; }
.nc2-module-title-add:focus-visible { outline: 2px solid #0869c4; outline-offset: 2px; }
._block_title_abs:is(:empty,[data-nc2-empty-title]):not(:has(input)) + .nc2-module-title-add { display: inline-flex; align-items: center; justify-content: center; }
.nc2-web .nc2-edit-toolbar__title:has(> ._block_title_abs:is(:empty,[data-nc2-empty-title])):not(:has(input)):not(:has(img)) { flex: 1 1 60px; }
.nc2-web .nc2-edit-toolbar__title:has(> ._block_title_abs:is(:empty,[data-nc2-empty-title])):not(:has(input)) > ._block_title_abs { display: none; }
.nc2-web .nc2-edit-toolbar:has(input[name="title_el"]) { flex-wrap: wrap; }
.nc2-web .nc2-edit-toolbar__title:has(input[name="title_el"]) { flex: 1 1 100%; }
@media (max-width: 700px), (pointer: coarse) {
    .nc2-web .nc2-edit-toolbar__actions > a { min-width: 44px; min-height: 44px; padding: 6px 9px; }
    .nc2-module-title-add { min-height: 44px; }
}
.nc2-module-toolbar--inline {
    position: static;
    width: auto;
    margin-bottom: 6px;
}
.nc2-module-toolbar--inline .nc2-edit-toolbar {
    min-width: 0;
    box-shadow: none;
}
.nc2-module-toolbar--inline .nc2-edit-toolbar__title {
    overflow-wrap: anywhere;
}
.nc2-theme-frame {
    box-sizing: border-box;
    padding: 6px;
    border: 1px solid var(--nc2-frame-border, #bac5d2);
    border-radius: 12px;
    background: var(--nc2-frame-background, #fff);
}
.nc2-theme-frame > .nc2-frame__body { border-radius: 6px; }
.nc2-theme-panelbar { border-left-width: 5px; }
.nc2-theme-title {
    padding: 8px 10px;
    border: 1px solid var(--nc2-frame-border, #bac5d2);
    border-radius: 8px;
}
.nc2-theme-title .nc_block_title { margin: 0; padding: 0; line-height: 1.4; }
.nc2-pm-frame {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 1px solid #dce2ea;
    border-radius: 12px;
    background: #fff;
    color: #202b3c;
    font: 14px/1.6 "Yu Gothic UI", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.nc2-pm-frame > div { border-radius: inherit; background: #fff; }
.nc2-web .pm_mua_body { width: 100%; min-width: 0; background: transparent; }
.nc2-pm-heading { padding: 20px 20px 0; }
.nc2-pm-heading h2 { margin: 0; color: #202b3c; font-size: 21px; font-weight: 700; line-height: 1.4; }
.nc2-pm-frame .pm_hmenu_top_td { height: auto; padding: 16px; }
.nc2-pm-frame .pm_hmenu_ul { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 0; }
.nc2-pm-frame .pm_hmenu_ul > li { float: none; width: auto; padding: 0; }
.nc2-pm-frame .pm_list_page { margin-left: auto; font-size: 12px; }
.nc2-pm-frame .pm_hmenu_ul > li:first-child > a { display: flex; align-items: center; min-height: 40px; border-radius: 6px; background: #293c5b; color: #fff; font-weight: 700; }
.nc2-pm-frame .pm_hmenu_ul > li:first-child > a > div { padding: 8px 12px; border: 0; background: transparent; }
.nc2-pm-frame .pm_list_create_btn img { display: none; }
.nc2-pm-frame .pm_hmenu_ul > li:first-child > a:hover { background: #1d2e49; color: #fff; }
.nc2-pm-frame :is(input[type="button"], input[type="submit"], button, select) {
    box-sizing: border-box; width: auto; max-width: 100%; min-height: 40px; height: auto;
    padding: 8px 10px; border: 1px solid #cdd5e0; border-radius: 6px;
    background: #fff; color: #293c5b; font: inherit; line-height: 1.35;
}
.nc2-pm-frame :is(button, input[type="button"], input[type="submit"]) { cursor: pointer; }
.nc2-pm-frame .pm_list_update a { display: flex; align-items: center; min-height: 40px; padding: 0 10px; color: #293c5b; }
.nc2-pm-frame :is(a, button, input, select, textarea):focus-visible { outline: 3px solid #3779b8; outline-offset: 2px; }
.nc2-pm-layout { display: grid; grid-template-columns: 154px minmax(0, 1fr); min-height: 360px; border-top: 1px solid #e3e8ef; }
.nc2-pm-frame .pm_menu { width: auto; min-width: 0; padding: 12px 8px; border-right: 1px solid #e3e8ef; background: #f4f6f9; }
.nc2-pm-frame li.pm_menu_li { padding: 0; border-radius: 6px; background-image: none; }
.nc2-pm-frame li.pm_menu_li a { display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 2px 10px; border-radius: 6px; color: #526077; font-weight: 500; }
/* The original menu classes continue to control hover/current/keyboard states. */
.nc2-pm-frame li.pm_menu_li a::before { content: ''; width: 24px; height: 24px; flex: 0 0 24px; background: url('/ui/operation-icons/v1/mail.webp') center / contain no-repeat; }
.nc2-pm-frame li:is(.pm_menu_inbox, .pm_menu_inbox_active, .pm_menu_send, .pm_menu_send_active, .pm_menu_draft, .pm_menu_draft_active) a::before { background-image: url('/ui/operation-icons/v1/folder-closed.webp'); }
.nc2-pm-frame li:is(.pm_menu_inbox_active, .pm_menu_send_active, .pm_menu_draft_active) a::before { background-image: url('/ui/operation-icons/v1/folder-open.webp'); }
.nc2-pm-frame li:is(.pm_menu_trash, .pm_menu_trash_active) a::before { background-image: url('/ui/operation-icons/v1/trash.webp'); }
.nc2-pm-frame li:is(.pm_menu_search, .pm_menu_search_active) a::before { background-image: url('/ui/operation-icons/v1/search.webp'); }
.nc2-pm-frame li.pm_menu_li a:hover { background: #e6ebf2; color: #202b3c; }
.nc2-pm-frame li[class*="_active"] { background: #e3eaf5; }
.nc2-pm-frame li[class*="_active"] a { color: #203c68; font-weight: 700; box-shadow: inset 3px 0 #293c5b; }
.nc2-pm-frame .pm_menu_line_li { padding: 10px; }
.nc2-pm-frame .pm_menu_line_li div { height: 1px; overflow: hidden; background: #dce2ea; }
.nc2-pm-frame :is(.pm_content, .pm_content_empty) { box-sizing: border-box; width: 100%; min-width: 0; height: auto; min-height: 320px; background: #fff; }
.nc2-pm-empty { display: flex; min-height: 320px; box-sizing: border-box; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 28px 20px; color: #526077; text-align: center; }
.nc2-pm-empty strong { color: #293c5b; font-size: 15px; font-weight: 600; }
.nc2-pm-empty p { max-width: 30em; margin: 0; font-size: 12px; line-height: 1.8; }
.nc2-pm-empty__icon { display: block; width: 48px; height: 48px; margin-bottom: 6px; background: url('/ui/operation-icons/v1/mail.webp') center / contain no-repeat; }
.nc2-pm-frame .pm_list_inbox { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 13px; }
.nc2-pm-frame .pm_list_inbox_th { padding: 10px 8px; border: 0; border-bottom: 1px solid #dce2ea; background: #f8f9fb; color: #526077; font-weight: 500; }
.nc2-pm-frame .pm_list_inbox_td { padding: 12px 8px; border: 0; border-bottom: 1px solid #e9edf3; background: transparent; overflow-wrap: anywhere; }
.nc2-pm-frame :is(.pm_list_inbox_check_ttl, .pm_list_inbox_check) { width: 26px; }
.nc2-pm-frame .pm_list_inbox_sender_ttl { width: 25%; }
.nc2-pm-frame .pm_list_inbox_data_ttl { width: 88px; }
.nc2-pm-frame .pm_list_inbox_unread { background: #f1f5fc; }
.nc2-pm-frame .pm_list_inbox_checked { background: #e3eaf5; }
.nc2-pm-frame :is(.pm_title_green, a.pm_link, a.pm_syslink) { color: #293c5b; }
.nc2-pm-frame :is(input[type="text"], textarea) { box-sizing: border-box; max-width: 100%; padding: 8px; border: 1px solid #bdc8d6; border-radius: 5px; color: #202b3c; font: inherit; }
.nc2-pm-frame .pm_ins_address_input { width: 100%; }
.nc2-pm-frame .pm_ins_btn { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; padding: 12px; }
.nc2-pm-frame .pm_ins_btn input { margin: 0; }
.nc2-pm-frame .pm_popup_hmenu_bottom_td { border-top: 1px solid #e3e8ef; background: #f8f9fb; }
.nc2-pm-compose { border: 0; border-radius: 0; }
.nc2-pm-compose .pm_content { min-height: 0; }
.nc2-pm-compose .pm_ins { display: block; border: 0; }
.nc2-pm-compose .pm_ins > tbody { display: block; }
.nc2-pm-compose .pm_ins > tbody > tr { display: grid; grid-template-columns: 88px minmax(0, 1fr) auto; align-items: start; gap: 12px; padding: 10px 4px; border-bottom: 1px solid #e5eaf1; }
.nc2-pm-compose :is(.pm_ins_th, .pm_ins_td) { box-sizing: border-box; width: auto; min-width: 0; padding: 0; border: 0; background: transparent; color: #293c5b; }
.nc2-pm-compose .pm_ins_th { padding-top: 10px; font-size: 13px; font-weight: 600; text-align: left; }
.nc2-pm-compose .pm_ins_make { grid-column: 1 / -1; }
.nc2-pm-compose .pm_ins_address { grid-column: 2 / -1; }
.nc2-pm-compose .pm_ins_subject_ul { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding: 0; }
.nc2-pm-compose .pm_ins_subject_li { float: none; max-width: 100%; margin: 0; padding: 0; }
.nc2-pm-compose .pm_ins_action_btn { flex-basis: 100%; text-align: left; }
.nc2-pm-compose .pm_ins_subject_input { flex: 1 1 250px; }
.nc2-pm-compose .pm_ins_subject_li_input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 42px; margin: 0; }
.nc2-pm-compose .pm_ins_address_input { min-height: 42px; }
.nc2-pm-compose .pm_ins_subject_menu { height: auto; }
.nc2-pm-compose .pm_ins_avatar:empty { display: none; }
.nc2-pm-compose .pm_ins_avatar img { width: 44px; max-width: 44px; height: auto; border-radius: 50%; }
.nc2-pm-recipient-help { margin: 8px 0 0; color: #637188; font-size: 12px; line-height: 1.6; }
.nc2-pm-compose .pm_ins_all_member { margin-top: 10px; padding: 0; background: transparent; }
.nc2-pm-broadcast summary { min-height: 28px; color: #637188; font-size: 12px; cursor: pointer; }
.nc2-pm-broadcast label { display: inline-flex; align-items: center; min-height: 40px; color: #293c5b; }
.nc2-pm-compose .pm_ins_make .jodit-container { box-sizing: border-box; max-width: 100%; border: 1px solid #dce2ea; border-radius: 6px; }
.nc2-pm-compose .jodit-toolbar__box { background: #f5f7fa; }
.nc2-pm-compose .pm_ins_btn { box-sizing: border-box; position: static; width: 100%; align-items: center; margin: 0; padding: 14px 8px; background: #fff; }
.nc2-pm-compose-footer { position: sticky; bottom: 0; z-index: 2; }
.nc2-pm-compose-layout { min-width: 0; }
.nc2-pm-compose .pm_ins_btn input:nth-of-type(2) { border-color: #293c5b; background: #293c5b; color: #fff; font-weight: 600; }
.nc2-tabs[role="tablist"] {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 4px;
    width: 100%;
    border-bottom: 1px solid var(--nc2-tab-border, #bac5d2);
}
.nc2-tabs > .comptabset_tabset[role="tab"] {
    appearance: none;
    margin: 0 0 -1px;
    padding: 7px 12px;
    border: 1px solid var(--nc2-tab-border, #bac5d2);
    border-radius: 8px 8px 0 0;
    background: var(--nc2-tab-background, #edf1f5);
    color: inherit;
    font: inherit;
    line-height: 1.4;
    cursor: pointer;
}
.nc2-tabs > .comptabset_tabset[aria-selected="true"] {
    border-bottom-color: var(--nc2-tab-active, #fff);
    background: var(--nc2-tab-active, #fff);
    font-weight: bold;
}
.comp_tabset_content {
    border: 1px solid var(--nc2-tab-border, #bac5d2);
    border-top: 0;
    border-radius: 0 0 8px 8px;
}
.comp_tabset_glass, .comp_tabset_content_glass {
    --nc2-tab-border: #85ada1;
    --nc2-tab-background: #d8dfdf;
    --nc2-tab-active: #eff7f7;
}
.comptabset_caption { display: none; }
.nc2-withdraw-action {
    padding: 10px 18px;
    border: 1px solid #e5b971;
    border-radius: 8px;
    background: #fff9f9;
    color: #9a6700;
    font: bold 110%/1.4 Arial, sans-serif;
    cursor: pointer;
}
.nc2-withdraw-action:hover, .nc2-withdraw-action:focus-visible { background: #fffbe5; }
.nc_toggledialog, div.listmenu ul {
    border-radius: 8px;
    box-shadow: 0 4px 16px rgb(15 23 42 / 12%);
}
.nc2-web a.listbox {
    border: 1px solid #aab6c4;
    border-radius: 5px;
    background: linear-gradient(#fff, #edf1f5);
}
.nc2-web a.listbox span.listcontent { border: 0; margin: 0; }
.nc2-web input.nc_wysiwyg_btn {
    border: 1px solid #aab6c4;
    border-radius: 5px;
    background: linear-gradient(#fff, #edf1f5);
}
.nc2-web div.nc_wysiwyg_outer ul.nc_wysiwyg_panel li:is(.btn, .lbtn, .cbtn, .rbtn) {
    border-radius: 4px;
    background: linear-gradient(#fff, #e5ebf1);
    box-shadow: inset 0 0 0 1px #b3bfcc;
}
.nc2-web div.nc_wysiwyg_outer ul.nc_wysiwyg_panel li:is(.btn, .lbtn, .cbtn, .rbtn):hover {
    background: #e2e8f0;
}
.nc2-web div.nc_wysiwyg_outer ul.nc_wysiwyg_panel li:is(.btn, .lbtn, .cbtn, .rbtn).active {
    background: #cbd5e1;
}
.nc2-web :is(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid #075ca8;
    outline-offset: 2px;
}
.nc2-web .nc2-skip-link {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
.nc2-web .nc2-skip-link:focus {
    position: fixed;
    top: 8px;
    left: 8px;
    z-index: 10000;
    width: auto;
    height: auto;
    padding: 8px 12px;
    margin: 0;
    overflow: visible;
    clip-path: none;
    background: #fff;
    color: #075ca8;
    border: 2px solid currentColor;
}
@media (forced-colors: active) {
    .nc2-web :is(a, button, input, select, textarea, [tabindex]):focus-visible {
        outline-color: Highlight;
    }
}

.nc2-theme-frame.th_panelbar_blue { --nc2-frame-border:#beecee; }
.nc2-theme-frame.th_panelbar_default { --nc2-frame-border:#78828d; }
.nc2-theme-frame.th_panelbar_green { --nc2-frame-border:#d6ffe9; }
.nc2-theme-frame.th_panelbar_tan { --nc2-frame-border:#d2cfa8; }
.nc2-theme-frame.th_panelbar_violet { --nc2-frame-border:#e8d6ff; }

/* The site's home link starts the side navigation alongside its page links. */
.nc2-web .menu_top_page { padding-left: 5px; text-align: left; }
.nc2-web .menu_top_page_href { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; white-space: normal; }
.nc2-web .nc2-menu-home-icon { flex: 0 0 14px; width: 14px; height: 14px; }

/* Wrapped menu rows must contribute their full height to the page layout. */
.nc2-web ul.menu_headerflat,
.nc2-web ul[class*="menu_jq_gnavi_pldwn_"]:not([class*="_sub"]):not([data-nc2-native-dropdown]) {
    display: flow-root;
    height: auto;
}

/* Keyboard focus keeps dropdown descendants available beside their parent. */
.nc2-web ul[class*="menu_jq_gnavi_pldwn_"] li:focus-within > ul[class*="menu_jq_gnavi_pldwn_"][class*="_sub"]:not(.display-none):not([hidden]) {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
}
.nc2-web ul[class*="menu_jq_gnavi_pldwn_"][class*="_sub"] > li:focus-within > ul[class*="menu_jq_gnavi_pldwn_"][class*="_sub"]:not(.display-none):not([hidden]) {
    left: 100% !important;
}

/* Legacy horizontal navigation keeps its saved theme and link classes. */
.nc2-web ul:is([class*="header_180x35_"], [class*="header_150x32_"]) {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    background: none;
    overflow: visible;
}
.nc2-web a:is([class*="header_180x35_"], [class*="header_150x32_"]) {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
    min-height: 35px;
    margin: 0;
    padding: 7px 12px;
    border: 1px solid var(--nc2-nav-color, #315f8f);
    border-radius: 8px;
    background: var(--nc2-nav-color, #315f8f);
    color: #fff !important;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: anywhere;
    text-decoration: none;
}
.nc2-web a[class*="header_180x35_"] { width: 180px; }
.nc2-web a[class*="header_150x32_"] { width: 150px; }
.nc2-web a:is([class*="header_180x35_"], [class*="header_150x32_"]):is(:hover, :focus-visible, ._menu_active) {
    background: var(--nc2-nav-active, #e7eff7);
    color: #172b42 !important;
}
.nc2-web a:is([class*="header_180x35_black"], [class*="header_150x32_black"]) { --nc2-nav-color:#333; --nc2-nav-active:#ddd; }
.nc2-web a:is([class*="header_180x35_blue"], [class*="header_150x32_blue"]) { --nc2-nav-color:#315f8f; --nc2-nav-active:#e7eff7; }
.nc2-web a:is([class*="header_180x35_cherry"], [class*="header_150x32_cherry"]) { --nc2-nav-color:#99495f; --nc2-nav-active:#f7e6ed; }
.nc2-web a:is([class*="header_180x35_gray"], [class*="header_150x32_gray"]) { --nc2-nav-color:#60656d; --nc2-nav-active:#e8eaed; }
.nc2-web a:is([class*="header_180x35_green"], [class*="header_150x32_green"]) { --nc2-nav-color:#386d4b; --nc2-nav-active:#e1f0e6; }
.nc2-web a:is([class*="header_180x35_orange"], [class*="header_150x32_orange"]) { --nc2-nav-color:#a85018; --nc2-nav-active:#ffeadb; }
.nc2-web a[class*="header_180x35_pink"] { --nc2-nav-color:#984879; --nc2-nav-active:#f8e5f2; }
.nc2-web a[class*="header_180x35_sky"] { --nc2-nav-color:#246b8d; --nc2-nav-active:#dff2fa; }

.nc2-editor { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; }
.nc2-editor .jodit-container { box-sizing: border-box; min-width: 0; max-width: 100%; border-radius: 8px; }
.nc2-editor .jodit-toolbar__box { border-radius: 7px 7px 0 0; }
.nc2-editor .jodit-wysiwyg { overflow-wrap: anywhere; }
.nc2-editor .jodit-source__mirror { font: 14px/1.6 Consolas, monospace; }
.nc2-editor-error { padding: 10px; background: #fff3d6; color: #674500; }
.nc2-editor-dialog {
    box-sizing: border-box;
    width: min(560px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
    margin: auto;
    padding: 20px;
    border: 1px solid #bac5d2;
    border-radius: 12px;
    background: #fff;
    color: #1e293b;
    box-shadow: 0 12px 40px rgb(15 23 42 / 24%);
    font: 15px/1.6 Arial, "Yu Gothic", sans-serif;
}
.nc2-editor-dialog::backdrop { background: rgb(15 23 42 / 35%); }
.nc2-editor-dialog h2 { margin: 0 0 16px; font-size: 18px; font-weight: 600; }
.nc2-editor-dialog__fields { display: grid; gap: 12px; }
.nc2-editor-dialog__field { display: grid; gap: 4px; }
.nc2-editor-dialog__field:has(input[type="checkbox"]) { display: flex; align-items: center; gap: 10px; }
.nc2-editor-dialog input:not([type="checkbox"]), .nc2-editor-dialog select, .nc2-editor-dialog textarea {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 38px;
    padding: 7px 9px;
    border: 1px solid #94a3b8;
    border-radius: 6px;
    font: inherit;
}
.nc2-editor-dialog input[type="checkbox"] { width: 18px; height: 18px; }
.nc2-editor-dialog input[type="color"] { padding: 3px; }
.nc2-editor-table-note { margin: 0; color: #526176; font-size: 14px; }
.nc2-editor-dialog__actions { display: flex; justify-content: end; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.nc2-editor-dialog button { min-height: 38px; padding: 7px 14px; border: 1px solid #94a3b8; border-radius: 6px; font: inherit; cursor: pointer; }
.nc2-editor-dialog button[type="submit"] { border-color: #075ca8; background: #075ca8; color: #fff; }
.nc2-editor-dialog button:disabled { opacity: .6; cursor: wait; }
.nc2-editor-dialog__error { margin: 12px 0 0; color: #a11b1b; white-space: pre-wrap; }
/* Room-space icons share the current administration icon palette. */
.room_top .room_init_icon {box-sizing:border-box;height:auto;min-height:88px;padding:10px;text-align:center;}
.room_top img.nc2-room-space-icon {display:block;width:56px;height:56px;object-fit:contain;margin:0 auto;}
.room_top .room_init_icon_title {width:auto;max-width:140px;margin-top:6px;white-space:normal;overflow:visible;overflow-wrap:anywhere;}

/* Keep profile edit targets visible, including fields without a value. */
.nc2-web a.userinf_edit_item_label {
    box-sizing: border-box;
    min-height: 28px;
    padding: 4px 6px;
    border: 1px solid #8b98a8;
    border-radius: 2px;
    background: #fff;
    color: #172b42;
    line-height: 1.4;
    overflow-wrap: anywhere;
    text-decoration: none;
    cursor: pointer;
}
.nc2-web a.userinf_edit_item_label:hover { border-color: #315f8f; background: #f3f7fb; }
.nc2-web a.userinf_edit_item_label:focus-visible {
    outline: 2px solid #075ca8;
    outline-offset: 2px;
}
.nc2-web .userinf_empty_item { color: #526174; }
.nc2-web .userinf_edit_item input:is([type="text"], [type="password"]),
.nc2-web .userinf_edit_item textarea,
.nc2-web .userinf_edit_item select {
    box-sizing: border-box;
    max-width: 100%;
    border: 1px solid #8b98a8;
    border-radius: 2px;
    background: #fff;
    color: #172b42;
}
.nc2-web .userinf_edit_item :is(input, textarea, select):focus-visible {
    outline: 2px solid #075ca8;
    outline-offset: 2px;
}

/* Administrator email registration is required; preserve the normal focus outline. */
.nc2-required-mark { color: #b42318; font-weight: 700; white-space: nowrap; }
.nc2-member-name-error, .nc2-admin-email-error { margin: 4px 0; color: #b42318; font-size: 0.95em; overflow-wrap: anywhere; }
.nc2-member-name-error[hidden], .nc2-admin-email-error[hidden] { display: none !important; }
.nc2-web .nc2-required-member-name.nc2-member-name-missing a.userinf_edit_item_label,
.nc2-web .nc2-required-member-name input[data-nc2-profile-name-user][aria-invalid="true"],
.nc2-web .nc2-required-admin-email.nc2-admin-email-missing a.userinf_edit_item_label,
.nc2-web .nc2-required-admin-email input[data-nc2-admin-email-required="true"][aria-invalid="true"] {
    border: 2px solid #b42318;
    background: #fff4f2;
    color: #172b42;
}

.nc2-admin-email-verification { margin: 6px 0; padding: 6px 8px; border-left: 3px solid #b45309; background: #fffbeb; color: #713f12; overflow-wrap: anywhere; }
.nc2-admin-email-verification[data-nc2-email-state="verified"] { border-color: #15803d; background: #f0fdf4; color: #14532d; }
.nc2-admin-email-verification .nc2-admin-email-account { display: block; margin-top: 4px; color: #04419a; text-decoration: underline; }

/* Shared navigation and setting-mode artwork. */
.nc2-web img.nc2-utility-icon,
.nc2-web img[src$="/ui/utility-icons/v1/print.webp"],
.nc2-web img[src$="/ui/utility-icons/v1/settings.webp"],
.nc2-web img[src$="/ui/utility-icons/v1/settings-done.webp"] {
    width: 24px;
    height: 24px;
    object-fit: contain;
    vertical-align: middle;
}
.nc2-web a:is(:hover, :focus-visible) > img.nc2-utility-icon { filter: brightness(1.08); }
.nc2-web img.userinf_navi_img.nc2-utility-icon { padding: 0; margin-right: 6px; }

/* Fit module headings within their theme width; long titles remain fully readable. */
.nc2-web .nc_block_title.nc2-title-fit {
    display: block;
    min-width: 0;
    max-width: 100%;
    height: auto;
    white-space: normal !important;
    overflow-wrap: anywhere;
    overflow: visible;
    text-overflow: clip;
}

.nc2-web .nc_block_title.nc2-title-fit[hidden] { display: none !important; }

/* Long page names remain readable in the original menu skins. */
.nc2-web a.menulink:is(.menu_top_public, .menu_public, .menu_top_private, .menu_private, .menu_top_group, .menu_group, .menu_sideflat) {
    white-space: normal;
    overflow-wrap: anywhere;
}
.nc2-web ul.menu_headerflat > li > a.menulink,
.nc2-web ul[class*="menu_jq_gnavi_pldwn_"] > li > :is(a.menulink, .nc2-menu-category) {
    box-sizing: border-box;
    display: block;
    height: auto;
    min-height: 35px;
    padding: 7px 5px;
    white-space: normal;
    overflow: visible;
    overflow-wrap: anywhere;
    line-height: 1.5;
    background-size: auto 100%;
}
.nc2-web ul[class*="menu_jq_gnavi_pldwn_"] > li {
    height: auto;
    min-height: 35px;
}
.nc2-web ul[class*="menu_jq_gnavi_pldwn_"][class*="_sub"] {
    width: 180px;
    max-width: calc(100vw - 32px);
}

.nc2-web a.menulink[class*="side_150_"] { box-sizing: border-box; width: 150px; max-width: 100%; }
.nc2-web a.menulink[class*="side_180_"] { box-sizing: border-box; width: 180px; max-width: 100%; }

/* Multiline labels set the height of their own row, including its background. */
.nc2-web ul.menu_headerflat {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    background: none;
}
.nc2-web ul:is(.menu_headerflat, [class*="header_150x32_"], [class*="header_180x35_"]) > li:not([hidden]):not(.display-none) {
    display: flex;
    float: none;
    align-items: stretch;
    min-width: 0;
    max-width: 100%;
}
.nc2-web ul.menu_headerflat > li { background-size: auto 100%; }
.nc2-web ul:is(.menu_headerflat, [class*="header_150x32_"], [class*="header_180x35_"]) > li > a.menulink {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    text-align: center;
}

/* Optional local draft recovery controls; never inherit theme button colors. */
.nc2-editor-drafts { display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:6px 8px; border:1px solid #d5deeb; border-bottom:0; background:#f4f7fb; color:#24364e; font:13px/1.5 sans-serif; }
.nc2-editor-drafts__label { display:inline-flex; align-items:center; gap:5px; }
.nc2-editor-drafts__label input { width:auto; margin:0; }
.nc2-editor-drafts__status { flex:1 1 160px; color:#425875; }
.nc2-editor-drafts button { min-height:28px; padding:3px 8px; background:#fff; color:#214d82; border:1px solid #b7c9df; border-radius:4px; cursor:pointer; font:inherit; }
.nc2-editor-drafts__notice { flex-basis:100%; margin:0; padding:4px 6px; background:#fff7df; color:#6b4600; }
.nc2-editor-drafts__snippet { white-space:pre-wrap; overflow-wrap:anywhere; max-height:220px; overflow:auto; padding:10px; background:#f4f7fb; color:#24364e; }

/* Fluid NC2 layout. Stored desktop theme widths and block IDs are preserved. */
.nc2-web #_container { box-sizing: border-box; width: calc(100% - 6px) !important; max-width: var(--nc2-site-max-width, 960px); min-width: 0; margin-inline: auto !important; table-layout: fixed; }
.nc2-web .content img:not(.icon):not(.dummy_img) { max-width: min(100%, var(--nc2-image-display-width, 1280px)); height: auto; }
.nc2-site-nav__all, .nc2-mobile-side-menu > summary { display: none; }
.nc2-site-nav > summary { display: none; }
.nc2-web .nc2-site-columns { width: 100%; table-layout: fixed; }
.nc2-web .main_column > table.widthmax { width: 100%; table-layout: fixed; }
.nc2-web .main_column :is(.module_box, table.blockstyle_0) { box-sizing: border-box; width: 100% !important; max-width: 100%; min-width: 0 !important; table-layout: fixed; }
.nc2-web .main_column table:is(.th_hina, .th_none) { width: 100%; max-width: 100%; table-layout: fixed; }
.nc2-web .main_column .content :is(input, select, textarea) { box-sizing: border-box; max-width: 100%; }
.nc2-web .main_column h2.nc_block_title { height: auto; min-height: 1.1em; white-space: normal; overflow-wrap: anywhere; }
.nc2-web .calendar_lmonthly table.calendar_body, .nc2-web .calendar_smonthly table.calendar_body { width: 100%; table-layout: fixed; }
.nc2-web .calendar_lmonthly table.calendar_body td.calendar_date { width: auto; }
.nc2-web .calendar_lmonthly table.calendar_body td.calendar_date :is(div.calendar_date_num, div.calendar_date_plan, div.calendar_plan, div.calendar_addplan) { width: auto; max-width: 100%; overflow-wrap: anywhere; }
.nc2-web .calendar_foot_switch { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; white-space: normal; }
.nc2-web .calendar_smonthly table.calendar_body td.calendar_date { width: auto; padding: 1px; }
.nc2-web .calendar_smonthly table.calendar_body td.calendar_date a { display: block; width: auto; min-height: 28px; text-align: center; }
.nc2-web :is(.cell, .column, .main_column, .th_hina_content, .content) { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.nc2-registration-receipt { box-sizing: border-box; max-width: 100%; margin: 16px 0; padding: 20px; border: 1px solid #dce2ea; border-radius: 8px; background: #fff; color: #293c5b; }
.nc2-registration-receipt-title { margin: 0 0 16px; font-size: 20px; line-height: 1.5; overflow-wrap: anywhere; }
.nc2-registration-receipt .registration_accept_message { margin: 0 0 20px; padding: 0 0 16px; border: 0; border-bottom: 1px solid #dce2ea; text-align: left; white-space: normal; overflow-wrap: anywhere; font-size: 15px; line-height: 1.8; }
.nc2-registration-receipt .registration_entry { width: 100%; max-width: 100%; table-layout: fixed; border-collapse: collapse; }
.nc2-registration-receipt :is(th.registration_item_name, td.registration_item_data) { box-sizing: border-box; padding: 10px 12px; border: 0; border-bottom: 1px solid #e5eaf1; text-align: left; vertical-align: top; white-space: normal; overflow-wrap: anywhere; line-height: 1.6; }
.nc2-registration-receipt th.registration_item_name { width: 32%; background: #f5f7fa; font-weight: 500; }
.nc2-registration-receipt td.registration_item_data { width: 68%; background: #fff; }
.nc2-registration-print-actions a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 40px; }
.nc2-edit-toolbar__actions > a, .nc2-window__actions > a { display: inline-flex; align-items: center; justify-content: center; min-height: 32px; padding: 3px 10px; border: 1px solid #cbd5e1; border-radius: 5px; background: #fff; color: #334155; font-size: 12px; line-height: 1.4; white-space: nowrap; text-decoration: none; }
.nc2-edit-toolbar__actions > a:hover, .nc2-window__actions > a:hover { background: #e8edf4; }
.nc2-edit-toolbar__actions > .nc2-module-action--delete { color: #9a3037; }
.nc2-module-toolbar { container-type: inline-size; }
@container (max-width: 280px) {
    .nc2-edit-toolbar { flex-wrap: wrap; }
    .nc2-edit-toolbar__title { flex-basis: 100%; }
    .nc2-edit-toolbar__actions { margin-left: auto; }
}
.nc2-web .nc2-control-panel, .nc2-web .control_header { box-sizing: border-box; max-width: var(--nc2-site-max-width, 960px); margin-inline: auto; }
.nc2-settings-intro { max-width: 60em; margin: 0 0 16px; line-height: 1.8; }
.nc2-settings-fields { display: grid; gap: 0; }
.nc2-settings-field { display: grid; grid-template-columns: minmax(170px, 1fr) minmax(0, 2fr); gap: 12px; padding: 16px 0; border-top: 1px solid #e1e6ed; }
.nc2-settings-field label { color: #293c5b; font-weight: 600; }
.nc2-settings-field input { box-sizing: border-box; width: 120px; max-width: 100%; min-height: 40px; padding: 8px; border: 1px solid #bdc8d6; border-radius: 5px; font: inherit; }
.nc2-settings-field .note { max-width: 40em; margin: 6px 0 0; color: #58657b; line-height: 1.6; white-space: normal; }
.nc2-runtime-summary { margin-block: 16px; padding: 12px; border: 1px solid #dce2ea; border-radius: 6px; background: #f6f8fb; }
.nc2-runtime-summary summary { min-height: 32px; color: #293c5b; font-weight: 600; cursor: pointer; }
.nc2-runtime-summary dl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px 16px; }
.nc2-runtime-summary dd { margin: 0; overflow-wrap: anywhere; }
.nc2-permission-note { max-width: 64em; padding: 12px; border-left: 3px solid #293c5b; background: #f3f6fa; line-height: 1.8; white-space: normal; }
.nc2-permission-scroll { max-width: 100%; max-height: 65dvh; overflow: auto; }
.nc2-permission-table { width: 100%; border-collapse: collapse; color: #293c5b; font-size: 13px; line-height: 1.6; }
.nc2-permission-table :is(th, td) { padding: 12px 10px; border-bottom: 1px solid #dce2ea; text-align: left; white-space: normal; }
.nc2-permission-table th { position: sticky; top: 0; background: #eef2f7; font-weight: 600; }
.nc2-permission-table .authority_name { min-width: 100px; width: auto; font-weight: 600; }
.nc2-permission-table .authority_manage { min-width: 80px; width: auto; }
.nc2-permission-table .authority_manage a { display: inline-flex; align-items: center; min-height: 40px; }
.nc2-web .nc2-table-scroll { max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.nc2-web .nc2-table-scroll:focus-visible { outline: 3px solid #3779b8; outline-offset: -3px; }
.nc2-web .nc2-window { max-width: 100%; }
.nc2-web ._global_create_block { max-width: calc(100vw - 24px); }
.nc2-web ._global_create_block:has(.nc2-pm-compose) { box-sizing: border-box; width: min(840px, calc(100vw - 24px)) !important; }
.nc2-web ._global_create_block:has(.nc2-pm-compose) > .module_box { width: 100% !important; min-width: 0 !important; }
.nc2-web .nc2-window__body { min-width: 0; max-height: 78dvh; overflow: auto; overscroll-behavior: contain; }
.nc2-web .nc2-window__bar { position: relative; }
.nc2-web [data-control-root] > .content > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: 4px; padding: 8px; }
.nc2-web [data-control-root] .control_system_icon { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; float: none; width: auto; min-height: 88px; margin: 0; padding: 6px; border-radius: 8px; }
.nc2-web [data-control-root] .control_system_icon br { display: none; }
.nc2-web [data-control-root] .control_system_icon:hover { background: #eef2f7; }
.nc2-web [data-control-root] .control_system_icon:focus-visible { outline: 3px solid #3779b8; outline-offset: -3px; }
.nc2-web [data-control-root] .mod_title { margin: 0; line-height: 1.5; }
@media (max-width: 1000px) {
    .nc2-web { margin: 0; -webkit-text-size-adjust: 100%; }
    .nc2-web #_container { box-sizing: border-box; width: 100% !important; max-width: min(100%, var(--nc2-site-max-width, 960px)); min-width: 0; table-layout: fixed; }
    .nc2-web #_container { border-spacing: 8px 0; }
    .nc2-web #_container > tbody > tr > td { min-width: 0; }
    .nc2-web :is(#_headercolumn, #_footercolumn, .main_column) { box-sizing: border-box; max-width: 100%; min-width: 0; }
    .nc2-web .main_column :is(.module_box, table.blockstyle_0) { box-sizing: border-box; width: 100% !important; max-width: 100%; min-width: 0 !important; }
    .nc2-web .nc2-site-columns { display: block; width: 100%; }
    .nc2-web .nc2-site-columns > tbody { display: block; }
    .nc2-web .nc2-site-columns > tbody > tr { display: grid; grid-template-columns: minmax(170px, 210px) minmax(0, 1fr); }
    .nc2-web .nc2-site-columns > tbody > tr > td { display: block; width: auto !important; max-width: 100%; min-width: 0; }
    .nc2-web #_rightcolumn { grid-column: 1 / -1; }
    .nc2-web .nc2-site-columns > tbody > tr:not(:has(#_leftcolumn)) { grid-template-columns: minmax(0, 1fr); }
    .nc2-web :is(.content, .th_hina_content) { max-width: 100%; overflow-wrap: anywhere; }
    .nc2-web .content :is(img, video, iframe, object, embed), .nc2-web .th_hina_content :is(img, video, iframe) { max-width: 100% !important; }
    /* Legacy blank.gif spacers carry an explicit height; preserve it. */
    .nc2-web .content :is(img:not([src*="images/common/blank.gif"]), video),
    .nc2-web .th_hina_content img:not([src*="images/common/blank.gif"]) { height: auto !important; }
    .nc2-web #header_menu { width: 100%; }
    .nc2-web #header_menu .menu_right { white-space: normal; line-height: 2.5; }
    .nc2-web #header_menu .menulink { display: inline-flex; align-items: center; min-height: 36px; }
    .nc2-web .main_column > table.widthmax { width: 100%; table-layout: fixed; }
    .nc2-web .nc2-tabs { align-items: stretch; }
    .nc2-web .nc2-tabs [role="tab"] { min-height: 40px; }
    .nc2-web .system_pagestyle_top { width: 100%; }
    .nc2-web .system_pagetheme_panels { max-width: 100%; }
    .nc2-web .pm_popup_body { width: 100%; max-width: 100%; }
}
@media (max-width: 700px) {
    .nc2-settings-field { grid-template-columns: minmax(0, 1fr); gap: 6px; }
    .nc2-permission-table, .nc2-permission-table tbody { display: block; }
    .nc2-permission-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .nc2-permission-table tbody > tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 8px 0; border-bottom: 1px solid #dce2ea; }
    .nc2-permission-table td { min-width: 0; border-bottom: 0; }
    .nc2-permission-table td:first-child, .nc2-permission-table td:last-child { grid-column: 1 / -1; }
    .nc2-permission-table td[data-label]::before { content: attr(data-label); display: block; margin-bottom: 4px; color: #637188; font-size: 11px; }
    .nc2-web { font-size: 14px; }
    .nc2-web #_container { border-spacing: 0; background-image: none; }
    .nc2-web h2.nc_block_title { box-sizing: border-box; width: 100%; height: auto; min-height: 1.5em; white-space: normal; overflow-wrap: anywhere; line-height: 1.5; }
    .nc2-web h2.th_hina_title.nc_block_title { padding: 6px 10px; background: linear-gradient(#747394, #29274d); }
    #_headercolumn .nc2-site-nav > ul.nc2-site-nav__list { display: flex; flex-wrap: wrap; gap: 0; box-sizing: border-box; width: 100%; height: auto !important; min-height: 0; max-height: none; margin: 0; padding: 0; overflow: visible; list-style: none; }
    #_headercolumn .nc2-site-nav > ul.nc2-site-nav__list > li { float: none; box-sizing: border-box; width: 50%; height: auto !important; min-width: 0; padding: 0; list-style: none; }
    #_headercolumn .nc2-site-nav__list > li > a.menulink { display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 100%; min-height: 44px; height: auto; margin: 0; padding: 8px; border: 1px solid #dce2ea; background: #f5f7fa; color: #293c5b !important; font-size: 14px !important; white-space: normal; overflow: visible; overflow-wrap: anywhere; line-height: 1.4; text-align: center; }
    #_headercolumn .nc2-site-nav__list > li > a.menulink._menu_active { background: #e5eef9; border-bottom-color: #3779b8; }
    #_headercolumn .nc2-site-nav > ul.nc2-site-nav__list[class*="menu_jq_gnavi_pldwn_"] { display: block; }
    #_headercolumn .nc2-site-nav > ul.nc2-site-nav__list[class*="menu_jq_gnavi_pldwn_"] > li { width: 100%; }
    #_headercolumn .nc2-site-nav__list ul[class*="menu_jq_gnavi_pldwn_"][class*="_sub"]:not(.display-none) { display: block !important; position: static; box-sizing: border-box; width: 100% !important; min-width: 0; height: auto !important; margin: 0; padding: 0 0 0 12px; overflow: visible !important; border: 0; background: transparent; box-shadow: none; }
    #_headercolumn .nc2-site-nav__list ul[class*="menu_jq_gnavi_pldwn_"][class*="_sub"] li { float: none; box-sizing: border-box; width: 100%; height: auto; padding: 0; background: transparent; }
    #_headercolumn .nc2-site-nav__list ul[class*="menu_jq_gnavi_pldwn_"][class*="_sub"] a.menulink { display: flex; align-items: center; box-sizing: border-box; width: 100%; min-height: 44px; height: auto; padding: 8px 12px; border-bottom: 1px solid #e5eaf1; background: #fff; color: #293c5b !important; font-size: 14px !important; white-space: normal; overflow: visible; overflow-wrap: anywhere; line-height: 1.4; text-align: left; }
    .nc2-site-nav__all { display: flex; align-items: center; box-sizing: border-box; min-height: 44px; padding: 10px 16px; color: #075ca8; background: #eef4fb; font-weight: 600; }
    .nc2-mobile-side-menu > summary { display: list-item; min-height: 44px; box-sizing: border-box; padding: 11px 14px; color: #263f67; background: #eef4fb; font-weight: 600; cursor: pointer; }
    .nc2-mobile-side-menu__items a.menulink { display: flex; align-items: center; box-sizing: border-box; min-height: 44px; max-width: 100%; padding: 8px 10px; white-space: normal; overflow-wrap: anywhere; line-height: 1.4; }
    .nc2-site-nav > summary { display: list-item; box-sizing: border-box; min-height: 44px; padding: 12px 16px; border-block: 1px solid #dce2ea; color: #293c5b; background: #f5f7fa; font-weight: 600; cursor: pointer; }
    .nc2-web .nc2-site-columns > tbody > tr { display: flex; flex-direction: column; }
    .nc2-web #_centercolumn { order: 0; padding: 8px !important; }
    .nc2-web #_leftcolumn { order: 1; padding: 8px !important; }
    .nc2-web #_rightcolumn { order: 2; padding: 8px !important; }
    .nc2-web .main_column > table.widthmax, .nc2-web .main_column > table.widthmax > tbody,
    .nc2-web .main_column > table.widthmax > tbody > tr, .nc2-web .main_column > table.widthmax > tbody > tr > td { display: block; box-sizing: border-box; width: 100% !important; min-width: 0 !important; }
    .nc2-web .content :is(input[type="text"], input[type="password"], input[type="email"], select, textarea) { box-sizing: border-box; max-width: 100%; font-size: 16px; }
    .nc2-web .content :is(input[type="text"], input[type="password"], input[type="email"], select) { min-height: 40px; }
    .nc2-web .content :is(input[type="button"], input[type="submit"], button) { min-height: 40px; }
    .nc2-web .journal_head_table { display: block; width: 100%; margin: 8px 0; }
    .nc2-web .journal_head_table > tbody, .nc2-web .journal_head_table > tbody > tr { display: block; width: 100%; }
    .nc2-web .journal_head_table > tbody > tr > td { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 8px; box-sizing: border-box; width: 100%; max-width: 100%; white-space: normal; }
    .nc2-web .journal_head_table span { max-width: 100%; margin: 0; }
    .nc2-web .journal_content { max-width: 100%; overflow-wrap: anywhere; }
    .nc2-web .journal_content > .widthmax { table-layout: fixed; }
    .nc2-web :is(.journal_list_date, .journal_list_title, .journal_list_user) { padding: 10px 6px; }
    .nc2-web .journal_list_title_h { white-space: normal; overflow-wrap: anywhere; }
    .nc2-web .journal_list_user { padding-left: 4px; }
    .nc2-web ._global_create_block { left: 12px !important; width: calc(100% - 24px) !important; max-width: calc(100vw - 24px); }
    .nc2-web ._global_create_block > .module_box { width: 100% !important; min-width: 0 !important; }
    .nc2-web .nc2-window { min-width: 0; }
    .nc2-web .nc2-window__body { max-height: 70dvh; padding: 8px; }
    .nc2-web .nc2-window__body .system_setting, .nc2-web .nc2-window__body .system_setting > tbody,
    .nc2-web .nc2-window__body .system_setting > tbody > tr { display: block; width: 100%; }
    .nc2-web .nc2-window__body .system_setting > tbody > tr > :is(th, td) { display: block; box-sizing: border-box; width: 100%; padding: 8px; white-space: normal; }
    .nc2-web .system_note_width { width: auto; max-width: 100%; }
    .nc2-web .nc2-window__bar { min-height: 48px; }
    .nc2-web .nc2-window .nc2-window__close { flex-basis: 40px; width: 40px; height: 40px; }
    .nc2-web .comp_tabset_content { min-width: 0; }
    .nc2-web [data-control-root] > .content > div { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; padding: 4px; }
    .nc2-web [data-control-root] .control_system_icon { min-height: 90px; padding: 4px 2px; }
    .nc2-web [data-control-root] .mod_title { font-size: 12px; overflow-wrap: anywhere; }
    .nc2-pm-heading { padding: 16px 14px 0; }
    .nc2-pm-frame .pm_hmenu_top_td { padding: 12px; }
    .nc2-pm-layout { grid-template-columns: minmax(0, 1fr); }
    .nc2-pm-frame .pm_menu { border-right: 0; border-bottom: 1px solid #e3e8ef; padding: 8px; }
    .nc2-pm-frame .pm_menu_ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 8px; }
    .nc2-pm-frame li.pm_menu_line_li { display: none; }
    .nc2-pm-frame li.pm_menu_li a { min-height: 44px; padding-inline: 10px; }
    .nc2-pm-frame .pm_hmenu_ul > li:first-child { flex-basis: 100%; }
    .nc2-pm-frame .pm_hmenu_ul > li:first-child > a { justify-content: center; }
    .nc2-pm-frame .pm_list_page { margin-left: 0; }
    .nc2-pm-frame .pm_list_inbox tr { display: grid; grid-template-columns: 30px minmax(0, 1fr) 88px; }
    .nc2-pm-frame .pm_list_inbox tr:first-child { display: none; }
    .nc2-pm-frame .pm_list_inbox_check { grid-row: 1 / 3; align-self: center; }
    .nc2-pm-frame .pm_list_inbox_subject { grid-column: 2 / -1; grid-row: 2; padding-top: 0; }
    .nc2-pm-frame .pm_list_inbox_sender { grid-column: 2; border-bottom: 0; }
    .nc2-pm-frame .pm_list_inbox_data { grid-column: 3; grid-row: 1; border-bottom: 0; color: #647085; font-size: 11px; }
    .nc2-pm-frame .pm_ins > tbody > tr { display: block; }
    .nc2-pm-frame .pm_ins > tbody > tr > :is(th, td) { display: block; width: auto; }
    .nc2-pm-compose .pm_ins > tbody > tr { grid-template-columns: minmax(0, 1fr); gap: 6px; }
    .nc2-pm-compose .pm_ins_th { padding-top: 0; }
    .nc2-pm-frame .pm_ins_avatar { display: none !important; }
    .nc2-pm-frame .pm_ins_subject_li_input { width: 100%; min-height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
    .nc2-web { scroll-behavior: auto; }
}
@media print {
    @page nc2-registration { size: A4 portrait; margin: 12mm; }
    .nc2-registration-receipt { page: nc2-registration; width: 100%; max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; font-size: 11pt; }
    .nc2-registration-receipt .registration_accept_message { font-size: 12pt; }
    .nc2-registration-receipt .nc2-table-scroll { overflow: visible; max-height: none; }
    .nc2-registration-receipt tr { break-inside: avoid; }
    .nc2-registration-print-actions, .print_header { display: none !important; }
    .print_preview { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: #fff !important; }
}

.nc2-pm-compose .nc2-recipient-field { position: relative; min-width: 0; }
.nc2-pm-compose .nc2-recipient-panel { position: absolute; z-index: 40; top: 100%; left: 0; box-sizing: border-box; width: max(100%, min(320px, 65vw)); max-width: min(480px, 70vw); max-height: min(280px, 40dvh); overflow-y: auto; overscroll-behavior: contain; margin-top: 4px; border: 1px solid #b9c6d8; border-radius: 7px; background: #fff; box-shadow: 0 6px 18px rgb(30 45 70 / 16%); color: #293c5b; }
.nc2-pm-compose .nc2-recipient-panel[hidden], .nc2-pm-compose .nc2-recipient-more[hidden] { display: none; }
.nc2-pm-compose .nc2-recipient-status { padding: 8px 12px; background: #f4f7fb; color: #58657b; font-size: 12px; line-height: 1.6; white-space: normal; }
.nc2-pm-compose .nc2-recipient-panel button { display: block; box-sizing: border-box; width: 100%; min-height: 44px; margin: 0; padding: 10px 12px; border: 0; border-bottom: 1px solid #edf0f5; border-radius: 0; background: #fff; color: #293c5b; text-align: left; font: inherit; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
.nc2-pm-compose .nc2-recipient-panel button:is(:hover, [aria-selected="true"], :focus-visible) { background: #e9f1fb; color: #153d71; outline: 2px solid #3779b8; outline-offset: -2px; }
.nc2-pm-compose .nc2-recipient-panel .nc2-recipient-more { color: #075ca8; text-align: center; font-weight: 600; }

/* Colour reinforces the visible labels; keyboard focus and tooltips remain. */
.nc2-editor .jodit-toolbar__box { padding: 6px; border-bottom: 1px solid #dce4ef; background: #f5f8fc; }
.nc2-editor .jodit-toolbar-button { --nc2-tool-colour: #475569; color: var(--nc2-tool-colour); }
.nc2-editor .jodit-toolbar-button:is([data-ref="bold"],[data-ref="italic"],[data-ref="underline"],[data-ref="strikethrough"],[data-ref="font"],[data-ref="fontsize"],[data-ref="brush"]) { --nc2-tool-colour: #285da0; }
.nc2-editor .jodit-toolbar-button:is([data-ref="ul"],[data-ref="ol"],[data-ref="outdent"],[data-ref="indent"],[data-ref="align"],[data-ref="paragraph"]) { --nc2-tool-colour: #147267; }
.nc2-editor .jodit-toolbar-button:is([data-ref="nc2link"],[data-ref="nc2unlink"],[data-ref="nc2image"],[data-ref="nc2file"],[data-ref="video"],[data-ref="table"],[data-ref="hr"]) { --nc2-tool-colour: #a2600c; }
.nc2-editor .jodit-toolbar-button:is([data-ref="source"],[data-ref="preview"],[data-ref="fullsize"]) { --nc2-tool-colour: #76529e; }
.nc2-editor .jodit-toolbar-button[data-ref="eraser"] { --nc2-tool-colour: #aa3849; }
.nc2-editor .jodit-toolbar-button button { box-sizing: border-box; min-width: 36px; min-height: 36px; padding: 6px; border-radius: 5px; color: var(--nc2-tool-colour); }
.nc2-editor .jodit-toolbar-button svg { fill: currentColor; color: var(--nc2-tool-colour); }
.nc2-editor .jodit-toolbar-button button:hover { background: #e5edf7; }
.nc2-editor .jodit-toolbar-button button:focus-visible { outline: 2px solid #3779b8; outline-offset: -2px; }
.nc2-editor .jodit-toolbar-button[disabled] { opacity: .4; }
.nc2-editor .nc2-editor-tool-label { display: inline-block; margin-left: 4px; font-size: 12px; font-weight: 600; line-height: 1.4; white-space: nowrap; }
.nc2-editor .nc2-editor-tool-labelled button { width: auto; }
@media (max-width: 700px) {
    .nc2-editor .jodit-toolbar-button button { min-width: 40px; min-height: 44px; }
    .nc2-editor .nc2-editor-tool-label { font-size: 11px; }
}
@media (forced-colors: active) {
    .nc2-editor .jodit-toolbar-button { --nc2-tool-colour: ButtonText !important; }
}

.nc2-font-option { display: inline-flex; align-items: center; gap: 10px; width: 100%; min-height: 40px; white-space: nowrap; }
.nc2-font-sample { display: inline-flex; flex: 0 0 36px; align-items: center; justify-content: center; box-sizing: border-box; width: 36px; height: 36px; border: 1px solid #d6dfeb; border-radius: 5px; background: #f3f6fa; color: #293c5b; font-size: 25px; line-height: 1; font-weight: 400; }

.nc2-web .control_system_icon .nc2-control-icon { display: block; box-sizing: border-box; width: 64px; height: 64px; object-fit: contain; }
.nc2-web [data-control-root] .control_system_icon { min-height: 104px; }
.nc2-security-guide { box-sizing: border-box; max-width: 720px; min-width: 0; padding: 12px; }
.nc2-security-guide h3 { margin: 0 0 10px; font-size: 16px; }
.nc2-security-guide p { margin: 8px 0 16px; line-height: 1.8; white-space: normal; }
.nc2-security-guide dl.nc2-runtime-summary { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; margin: 0 0 14px; padding: 0; border: 1px solid #dce2ea; border-radius: 6px; background: #fff; overflow: hidden; }
.nc2-security-guide dl.nc2-runtime-summary :is(dt,dd) { display: block; box-sizing: border-box; min-width: 0; margin: 0; padding: 10px 12px; border: 0; border-bottom: 1px solid #e7ebf2; background: none; overflow-wrap: anywhere; line-height: 1.6; }
.nc2-security-guide dl.nc2-runtime-summary dt { background: #f4f7fb; font-weight: 600; }
.nc2-web .security_log { box-sizing: border-box; width: 100%; max-width: 100%; height: auto; max-height: 55dvh; overflow: auto; border: 1px solid #dce2ea; }
.nc2-web .security_table { border-collapse: collapse; border: 0; font-size: 13px; }
.nc2-web .security_table :is(th,td) { padding: 10px; border: 0; border-bottom: 1px solid #dce2ea; vertical-align: top; line-height: 1.6; }
@media (max-width: 600px) {
    .nc2-security-guide dl.nc2-runtime-summary { grid-template-columns: minmax(0,1fr); }
}

/* Source mode remains readable while the locally hosted syntax editor loads. */
.nc2-editor .jodit-source, .nc2-editor .jodit-source__mirror { background: #1d1f21 !important; color: #c5c8c6 !important; caret-color: #f8f8f2; }
.nc2-editor .jodit-source__mirror { font: 14px/1.65 Consolas, "Noto Sans JP", monospace; }
.nc2-editor .jodit-source .ace_editor { min-height: 260px; font: 14px/1.65 Consolas, "Noto Sans JP", monospace; }
.nc2-editor .jodit-source .ace_text-input { max-width: none !important; min-height: 1px !important; }

.nc2-branding { display: grid; grid-template-columns: 96px minmax(0,1fr); gap: 16px; margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid #dce2ea; }
.nc2-branding > div:first-child { grid-column: 1 / -1; }
.nc2-branding h3 { margin: 0 0 8px; }
.nc2-branding p { margin: 6px 0 12px; line-height: 1.7; white-space: normal; }
.nc2-branding img { box-sizing: border-box; border: 1px solid #dce2ea; border-radius: 12px; background: #fff; object-fit: contain; }
.nc2-branding-controls { min-width: 0; }
.nc2-branding-controls label { display: block; margin-bottom: 8px; font-weight: 600; }
.nc2-branding-controls input { max-width: 100%; }
.nc2-branding button { min-height: 40px; margin: 4px 8px 4px 0; padding: 8px 12px; border: 1px solid #b9c6d8; border-radius: 6px; background: #fff; color: #293c5b; cursor: pointer; }
.nc2-branding [data-nc2-brand-save] { background: #293c5b; color: #fff; }
.nc2-branding [role="status"] { min-height: 1.7em; color: #225f58; }
@media(max-width:480px) { .nc2-branding { grid-template-columns: minmax(0,1fr); } }

.nc2-web .nc2-theme-choice { box-sizing: border-box; display: flex !important; flex-direction: column; align-items: center; gap: 4px; width: 108px; min-height: 106px; padding: 4px; border: 1px solid transparent; border-radius: 7px; text-decoration: none; }
.nc2-web .nc2-theme-choice:hover { background: #edf3fb; }
.nc2-web .nc2-theme-choice.highlight { border-color: #3779b8; background: #e9f1fb; }
.nc2-web .nc2-theme-choice-name { display: block; max-width: 100%; text-align: center; color: #293c5b; font-size: 12px; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
.nc2-web #_pagestyle_top > div { box-sizing: border-box; width: 100% !important; max-width: 100%; }
.nc2-web #_pagestyle_top { max-width: 100%; }
/* Page-style tabs retain their desktop width but fit narrow management windows. */
.nc2-web .nc2-pagestyle-panels, .nc2-web .nc2-pagestyle-colors { box-sizing: border-box; max-width: 100%; overflow-wrap: anywhere; }
.nc2-protection-on { display: inline-block; padding: 5px 10px; border-radius: 5px; background: #e7f3ef; color: #225f58; }
.nc2-brand-credit { font-weight: 700; color: #263f67; }

body.nc2-web:has([data-control-root]) { background: #f2f5fa; background-image: none; }

.nc2-editor .jodit-toolbar-button svg path:not([fill="none"]), .nc2-editor .jodit-toolbar-button svg [fill]:not([fill="none"]) { fill: var(--nc2-tool-colour) !important; }
.nc2-editor .jodit-toolbar-button svg [stroke]:not([stroke="none"]) { stroke: var(--nc2-tool-colour) !important; }
.jodit-popup:has(.nc2-font-option) .jodit-popup__content { max-height: min(340px, 45dvh); overflow: auto; }

.nc2-registration-dialog { box-sizing: border-box; width: min(720px, calc(100vw - 32px)); max-height: 88dvh; margin: auto; padding: 24px; border: 1px solid #cbd5e1; border-radius: 14px; background: #fff; color: #26364b; box-shadow: 0 18px 60px #172a4540; overflow: auto; }
.nc2-registration-dialog::backdrop { background: #15223880; }
[data-nc2-registration-review] { width: auto !important; min-width: 180px; min-height: 44px; padding: 10px 18px; }
.nc2-registration-dialog h2 { margin: 0 0 18px; font-size: 20px; }
.nc2-registration-review-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.nc2-registration-review-table th, .nc2-registration-review-table td { padding: 12px; border-bottom: 1px solid #dce3eb; text-align: left; vertical-align: top; white-space: pre-wrap; overflow-wrap: anywhere; }
.nc2-registration-review-table th { width: 32%; background: #f3f6fa; font-weight: 600; }
.nc2-registration-actions { display: flex; justify-content: flex-end; gap: 12px; flex-wrap: wrap; margin-top: 20px; }
.nc2-registration-actions button, .nc2-registration-download { min-height: 44px; padding: 10px 18px; border: 1px solid #b8c6d8; border-radius: 7px; background: #fff; color: #253b5c; cursor: pointer; }
.nc2-registration-actions .nc2-registration-send { background: #253b5c; border-color: #253b5c; color: #fff; font-weight: 600; }
.nc2-registration-actions button:disabled { opacity: .65; cursor: wait; }
.nc2-registration-progress { padding: 14px; border-radius: 7px; background: #edf4fb; line-height: 1.7; }
.nc2-registration-progress.is-busy::before { content: ''; display: inline-block; width: 24px; height: 24px; margin-right: 10px; background: url('/images/common/indicator.gif') center / contain no-repeat; vertical-align: middle; }
.nc2-registration-error { padding: 12px; border-left: 4px solid #b74536; background: #fff1ee; color: #7a2d24; white-space: pre-wrap; }
.nc2-registration-number { font-weight: 700; }
.nc2-registration-accept-message { white-space: pre-wrap; }
.nc2-registration-rich-message { white-space: normal; }
@media (max-width: 600px) { .nc2-registration-dialog { padding: 16px; } .nc2-registration-review-table th { width: 36%; } .nc2-registration-actions { justify-content: stretch; } .nc2-registration-actions button { flex: 1; } }
@media (prefers-reduced-motion: reduce) { .nc2-registration-progress.is-busy::before { background-image: url('/ui/operation-icons/v1/loading.webp'); } }
/* A short, optional path from the familiar login block to passkeys. */
.nc2-passkey-login,
form.login_popup a.nc2-passkey-login,
form.login_block a.nc2-passkey-login {
  display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
  min-height:44px;padding:6px 4px;border:0;
  border-radius:0;background:transparent;color:#526176;text-decoration:underline;
  text-underline-offset:3px;font-size:13px;font-weight:400;line-height:1.5;text-align:center;
}
.nc2-passkey-login:focus-visible,.nc2-passkey-later:focus-visible {outline:3px solid #4d91e5;outline-offset:3px;}
/* Keep these quiet text links readable across restored themes. */
.nc2-web a.nc2-passkey-login,
.nc2-web a.nc2-passkey-login:visited,
.nc2-web a.nc2-passkey-login:hover,
.nc2-web a.nc2-passkey-login:active,
.nc2-web a.nc2-passkey-login:focus {color:#526176!important;}
.nc2-web a.nc2-passkey-login:hover {color:#24364e!important;text-decoration-thickness:2px;}
.nc2-login-divider {display:flex;align-items:center;gap:8px;margin:12px 0;color:#637183;font-size:12px;}
.nc2-login-divider::before,.nc2-login-divider::after {content:'';flex:1;border-top:1px solid #dce3eb;}
.nc2-login-account { display:flex; flex-wrap:wrap; align-items:baseline; gap:3px 6px; max-width:100%; min-width:0; }
.nc2-login-account__item { display:inline-flex; align-items:baseline; gap:4px; min-width:0; white-space:nowrap; }
.nc2-login-account__user a { white-space:normal; overflow-wrap:anywhere; }
.nc2-passkey-offer {margin-top:14px;padding:12px 8px;border-top:1px solid #dce3eb;background:#f5f8fc;}
.nc2-passkey-offer[hidden] {display:none!important;}
.nc2-passkey-offer p {margin:0 0 10px;font-size:13px;line-height:1.6;}
.nc2-passkey-later {display:block;min-height:44px;width:100%;padding:8px;border:0;background:none;color:#526176;font:inherit;font-size:13px;cursor:pointer;}
/* Restored backups may still contain the old fixed-width login CSS. */
.nc2-web form.login_block {box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:0 10px;}
.nc2-web form.login_popup {box-sizing:border-box;width:250px;max-width:100%;min-width:0;}
.nc2-web :is(form.login_block,form.login_popup) input.login_input {box-sizing:border-box;width:100%;max-width:100%;min-width:0;}
.nc2-web :is(form.login_block,form.login_popup) div.login_buttons {display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:100%;margin-inline:0;}
.nc2-web :is(form.login_block,form.login_popup) .login_forgetpass_link {white-space:normal;overflow-wrap:anywhere;}
.nc2-web :is(form.login_block,form.login_popup) a.nc2-passkey-login {min-width:0;white-space:normal;overflow-wrap:anywhere;}
.nc2-web #_container {border-spacing:0;}
/* Menu rows are editor controls, not scrollable data tables. */
.nc2-web [data-nc2-menu-editor] {box-sizing:border-box;max-width:100%;min-width:0;padding:0;}
.nc2-web [data-nc2-menu-editor] .menu_row_top {min-width:0;max-width:100%;}
.nc2-web [data-nc2-menu-editor] .menu_edit_top_outer {width:100%;max-width:100%;min-width:0;table-layout:fixed;}
.nc2-web [data-nc2-menu-editor] .menu_edit_top_outer td {box-sizing:border-box;min-width:0;}
.nc2-web [data-nc2-menu-editor] .menu_edit_top_outer td:first-child {width:10px;}
.nc2-web [data-nc2-menu-editor] .menu_edit_top_outer ._menu_node_type {width:3px;}
.nc2-web [data-nc2-menu-editor] .menu_visibility_td {width:26px;padding:0;}
.nc2-web [data-nc2-menu-editor] .menu_main_edit_td {padding:2px 3px;}
.nc2-web [data-nc2-menu-editor] .menu_del_btn {width:26px;padding:0;text-align:center;}
.nc2-web [data-nc2-menu-editor] :is(.menu_visibility_td,.menu_del_btn) > a {display:flex;align-items:center;justify-content:center;min-height:26px;width:100%;}
.nc2-web [data-nc2-menu-editor] ._menutop {box-sizing:border-box;width:100%!important;max-width:100%;min-width:0;white-space:normal!important;overflow-wrap:anywhere;}
.nc2-web [data-nc2-menu-editor] .menu_pagename_text {box-sizing:border-box;width:100%;max-width:100%;min-width:0;}
.nc2-web [data-nc2-menu-editor] .menu_top_menu {padding:4px 0;}

/* Management windows are wrapped in a legacy layout table, also on direct URLs. */
.nc2-web .nc2-window__body :is(input, select, textarea) { box-sizing: border-box; max-width: 100%; }
@media (max-width: 760px) {
  .nc2-web table.module_box.system:has(.nc2-window[role="dialog"]) { table-layout: fixed; box-sizing: border-box; width: 100% !important; min-width: 0 !important; max-width: 100%; }
  .nc2-web table.module_box.system .nc2-window { box-sizing: border-box; width: 100%; max-width: 100%; }
}

/* Direct block edit pages have no main-column wrapper. */
@media (max-width: 1000px) {
  body.nc2-web > table.module_box { box-sizing: border-box; table-layout: fixed; width: 100% !important; max-width: 100%; min-width: 0 !important; }
  body.nc2-web > table.module_box table:is(.th_hina, .th_none) { width: 100%; max-width: 100%; table-layout: fixed; }
  body.nc2-web > table.module_box .content { overflow-x: auto; }
  body.nc2-web > table.module_box .content :is(input, select, textarea) { box-sizing: border-box; max-width: 100%; }
}

/* Permission summaries wrap independently from legacy fixed-height grids. */
.nc2-web .nc2-permission-table tr.grid_row td { height: auto; overflow: visible; line-height: 1.6; padding: 12px 10px; }
@media (max-width: 760px) {
  .nc2-web .nc2-window__body fieldset { min-inline-size: 0; max-width: 100%; box-sizing: border-box; }
}
@media (max-width: 760px) {
  .nc2-web .nc2-window__body :is(.policy_top_description, .policy_description) { width: auto; max-width: 100%; white-space: normal; }
}

/* The header login is a cached dialog: visibility is controlled by display-none,
   never by parking an unconstrained window at a negative coordinate. */
.nc2-web #login_popup { box-sizing: border-box; width: min(360px, calc(100vw - 24px)); max-width: calc(100vw - 24px); }
.nc2-web #login_popup.display-none { display: none; }
.nc2-web #login_popup > .module_box { box-sizing: border-box; table-layout: fixed; width: 100% !important; max-width: 100%; min-width: 0 !important; }
.nc2-web #login_popup form.login_popup { width: 100%; }
@media (max-width: 700px) {
    .nc2-web #login_popup { left: 12px !important; width: calc(100vw - 24px); }
    .nc2-web :is(.content, .nc2-window__body) { line-height: 1.65; }
    .nc2-web :is(.content, .nc2-window__body) fieldset { min-inline-size: 0; box-sizing: border-box; max-width: 100%; }
    .nc2-web :is(.content, .nc2-window__body) :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="image"]), select, textarea) { box-sizing: border-box; max-width: 100%; min-width: 0; font-size: 16px; }
    .nc2-web :is(.content, .nc2-window__body) :is(input[type="text"], input[type="password"], input[type="email"], input[type="number"], input[type="search"], input[type="date"], input[type="time"], select, button, input[type="submit"], input[type="button"]) { min-height: 44px; }
    .nc2-web :is(.content, .nc2-window__body) textarea { width: 100%; }
    .nc2-web .nc2-table-scroll { scroll-padding-inline: 8px; }
    .nc2-web .journal_entry_header, .nc2-web .journal_entry_header > tbody { display: block; width: 100%; }
    .nc2-web .journal_entry_header > tbody > tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #c7cde6; padding-top: 8px; }
    .nc2-web .journal_entry_header :is(.journal_list_date, .journal_list_title, .journal_list_user) { box-sizing: border-box; min-width: 0; width: auto; border: 0; padding: 4px 0; background-image: none; white-space: normal; overflow-wrap: anywhere; }
    .nc2-web .journal_entry_header .journal_list_date { grid-column: 1; grid-row: 1; }
    .nc2-web .journal_entry_header .journal_list_user { grid-column: 2; grid-row: 1; font-size: 12px; }
    .nc2-web .journal_entry_header .journal_list_title { grid-column: 1 / -1; grid-row: 2; }
    .nc2-web .journal_entry_header .journal_list_title_h { margin: 0; padding: 4px 0; font-size: 16px; line-height: 1.6; }
    .nc2-web .journal_content { padding: 8px 0; }
    .nc2-web input.journal_date { width: 8em; }
    .nc2-web .journal_entry_footer, .nc2-web .journal_entry_footer > tbody { display: block; width: 100%; }
    .nc2-web .journal_entry_footer > tbody > tr { display: flex; flex-wrap: wrap; gap: 4px 12px; border-bottom: 1px solid #c7cde6; }
    .nc2-web .journal_entry_footer .journal_list_bottom { display: block; flex: 1 1 230px; padding: 0; border: 0; }
    .nc2-web .journal_entry_footer .journal_content_operate { flex: 0 1 auto; }
    .nc2-web .journal_entry_footer a { display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; }
    .nc2-web .journal_comment { margin-left: 12px; }
    .nc2-web :is(.journal_comment_textarea, .journal_submit) { box-sizing: border-box; width: 100%; max-width: 100%; }
    .nc2-web .nc2-form-layout, .nc2-web .nc2-form-layout > tbody { display: block; box-sizing: border-box; width: 100% !important; min-width: 0; }
    .nc2-web .nc2-form-layout > tbody > tr:not(.display-none):not([hidden]) { display: block; }
    .nc2-web .nc2-form-layout > tbody > tr > :is(th, td) { display: block; box-sizing: border-box; width: 100% !important; min-width: 0; padding: 8px; white-space: normal; overflow-wrap: anywhere; }
    .nc2-web .nc2-form-layout > tbody > tr > th { text-align: left; padding-bottom: 4px; }
    .nc2-web .nc2-form-layout > tbody > tr > td { padding-top: 4px; }
    .nc2-web .journal_head_table .journal_page_switch { flex-basis: 100%; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; }
    .nc2-web .journal_head_table .journal_page_switch a { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 44px; }
    .nc2-web .journal_head_table .journal_separator { flex: 1 1 150px; min-width: 0; }
    .nc2-web .journal_head_table .journal_separator select { width: 100%; }
    .nc2-web .nc2-window .nc2-window__close { flex-basis: 44px; width: 44px; height: 44px; }
    .nc2-web :is(.content, .nc2-window__body) input[type="file"] { min-height: 44px; }
}

/* Registration remains reachable after a header-only login or a dismissed offer. */
.nc2-web #header_menu [data-passkey-manage] { min-height:44px; }
.nc2-web .nc2-passkey-offer[data-passkey-offer-location="header"] { box-sizing:border-box; margin:0; padding:10px 16px; display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.nc2-web .nc2-passkey-offer[data-passkey-offer-location="header"] p { flex:1 1 220px; margin:0; }
.nc2-web .nc2-passkey-offer[data-passkey-offer-location="header"] :is(.nc2-passkey-login,.nc2-passkey-later) { width:auto; min-height:44px; }

/* Visible titled blocks share a balanced rhythm without changing saved margins. */
.nc2-web :is(#_leftcolumn, #_centercolumn, #_rightcolumn) .ncplus-block:not(.nc2-window *):has(> .nc_block_title:not(.display-none):not([hidden]):not(:empty)) {
    padding-bottom: 0;
}
.nc2-web :is(#_leftcolumn, #_centercolumn, #_rightcolumn) .th_underline_content > .th_headermenu_title:not(.nc2-window *):not(.display-none):not([hidden]):has(.nc_block_title:not(.display-none):not([hidden]):not(:empty)) {
    margin-bottom: 12px;
}

/* Current statistics markup only; preserved database CSS and theme text sizes remain in effect. */
.counter_display {
	display:block; max-width:100%; min-width:0;
}
.counter_display > tbody { display:block; }
.counter_display .counter_row {
	display:flex; flex-wrap:wrap; align-items:center; gap:4px 6px;
}
.counter_display .counter_label {
	max-width:100%; overflow-wrap:anywhere;
}
.counter_display .counter_main {
	display:block; flex:1 1 auto; min-width:0; max-width:100%; padding:0;
}
.counter_display .counter_digits {
	display:flex; min-width:0; max-width:100%; align-items:center; justify-content:flex-end;
}
.counter_display .counter_digits img.icon {
	flex:0 1 auto; min-width:0; max-width:100%; height:auto;
	margin:0; object-fit:contain;
}

.counter_display .counter_note {
	padding:5px 0px;
	text-align:left;
	overflow-wrap:anywhere;
}

table.outer.online_status {
	display:block; width:100%; max-width:100%; min-width:0;
}
.online_status > tbody { display:block; }
.online_status .online_status_row {
	display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 8px;
	padding:5px 0;
}
table.outer.online_status th.online_title {
	flex:1 1 10em; min-width:0; max-width:100%; padding:0;
	text-align:left; white-space:normal; overflow-wrap:anywhere; background-image:none;
}
table.outer.online_status td.online_count {
	flex:0 1 auto; max-width:100%; margin-left:auto; padding:0;
	text-align:right; white-space:normal; overflow-wrap:anywhere; font-variant-numeric:tabular-nums;
}

/* Preserve the distinct states of legacy controls while sharing generated artwork. */
img[src$="/images/bbs/default/older_off.gif"],
img[src*="/images/bbs/default/older_off.gif?"],
img[src$="/images/bbs/default/newer_off.gif"],
img[src*="/images/bbs/default/newer_off.gif?"],
img[src$="/images/bbs/default/child_off.gif"],
img[src*="/images/bbs/default/child_off.gif?"],
img[src$="/images/bbs/default/parent_off.gif"],
img[src*="/images/bbs/default/parent_off.gif?"] {opacity:.38;filter:grayscale(1)}
img[src$="/images/calendar/default/prev2_select.gif"],
img[src*="/images/calendar/default/prev2_select.gif?"],
img[src$="/images/reservation/default/prev2_select.gif"],
img[src*="/images/reservation/default/prev2_select.gif?"],
img[src$="/images/calendar/default/next2_select.gif"],
img[src*="/images/calendar/default/next2_select.gif?"],
img[src$="/images/reservation/default/next2_select.gif"],
img[src*="/images/reservation/default/next2_select.gif?"],
img[src$="/themes/images/icons/default/close_over.gif"],
img[src*="/themes/images/icons/default/close_over.gif?"],
img[src$="/images/calendar/default/reduction_select.gif"],
img[src*="/images/calendar/default/reduction_select.gif?"],
img[src$="/images/calendar/default/move_select.gif"],
img[src*="/images/calendar/default/move_select.gif?"],
img[src$="/images/reservation/default/move_select.gif"],
img[src*="/images/reservation/default/move_select.gif?"],
img[src$="/images/reservation/default/monthly_select.gif"],
img[src*="/images/reservation/default/monthly_select.gif?"],
img[src$="/images/reservation/default/monthly_highlight.gif"],
img[src*="/images/reservation/default/monthly_highlight.gif?"],
img[src$="/images/reservation/default/weekly_select.gif"],
img[src*="/images/reservation/default/weekly_select.gif?"],
img[src$="/images/reservation/default/weekly_highlight.gif"],
img[src*="/images/reservation/default/weekly_highlight.gif?"],
img[src$="/images/menu/move_bar_active.gif"],
img[src*="/images/menu/move_bar_active.gif?"],
img[src$="/images/calendar/default/expansion_select.gif"],
img[src*="/images/calendar/default/expansion_select.gif?"],
img[src$="/images/reservation/default/location_select.gif"],
img[src*="/images/reservation/default/location_select.gif?"],
img[src$="/images/reservation/default/location_highlight.gif"],
img[src*="/images/reservation/default/location_highlight.gif?"],
img[src$="/images/chat/default/chat_select.gif"],
img[src*="/images/chat/default/chat_select.gif?"],
img[src$="/images/calendar/default/help_select.gif"],
img[src*="/images/calendar/default/help_select.gif?"] {filter:brightness(.78) saturate(1.15)}
/* Generated toolbar icons keep the original button and its state styling. */
.nc2-generated-ui-icon { object-fit: contain; vertical-align: middle; }
.jodit-container .jodit-icon.nc2-generated-ui-icon, .jodit-popup .jodit-icon.nc2-generated-ui-icon, .jodit-dialog .jodit-icon.nc2-generated-ui-icon { width: 24px; height: 24px; max-width: none; flex: 0 0 auto; }
.jodit-toolbar-button__icon:has(.nc2-generated-ui-icon), .jodit-ui-button__icon:has(.nc2-generated-ui-icon) { width: 24px; height: 24px; min-width: 24px; }
.jodit-toolbar-button__trigger .nc2-generated-ui-icon:is([data-nc2-editor-icon="chevron"], [data-nc2-editor-icon="angle_down"], [data-nc2-editor-icon="angle-down"]) { width: 12px; height: 12px; }
/* Jodit positions its resize SVG by tag; the generated image uses the same handle geometry. */
.jodit-container:not(.jodit_inline) .jodit-editor__resize .nc2-generated-ui-icon { bottom: 0; cursor: nwse-resize; height: 12px; overflow: hidden; position: absolute; right: 0; user-select: none; width: 12px; }
.jodit-dialog__resizer .nc2-generated-ui-icon { bottom: 0; cursor: nwse-resize; height: 12px; overflow: hidden; position: absolute; right: 0; user-select: none; width: 12px; }
.jodit-ui-input__icon .nc2-generated-ui-icon[data-nc2-editor-icon], .jodit-ui-select__icon .nc2-generated-ui-icon[data-nc2-editor-icon], .jodit-ui-text-area__icon .nc2-generated-ui-icon[data-nc2-editor-icon], .jodit-color-picker__remove .nc2-generated-ui-icon[data-nc2-editor-icon], .jodit-color-picker__native .nc2-generated-ui-icon[data-nc2-editor-icon] { width: 16px; height: 16px; }
.jodit-ui-input__clear .nc2-generated-ui-icon[data-nc2-editor-icon], .jodit-ui-select__clear .nc2-generated-ui-icon[data-nc2-editor-icon], .jodit-ui-text-area__clear .nc2-generated-ui-icon[data-nc2-editor-icon] { width: 12px; height: 12px; }
.jodit-color-picker__native .nc2-generated-ui-icon[data-nc2-editor-icon] { display: inline-block; margin-right: 4px; }
.jodit-add-new-line .nc2-generated-ui-icon[data-nc2-editor-icon] { width: calc(var(--jd-anl-handle-size) / 2); height: auto; }
/* Red marks a new entry/album; blue marks new replies/photos in an existing one. */
img[src$="/images/bbs/default/new.gif"], img[src*="/images/bbs/default/new.gif?"], img[src$="/images/photoalbum/default/album_new.gif"], img[src*="/images/photoalbum/default/album_new.gif?"] { filter: hue-rotate(140deg); }
/* HTML source folding keeps Ace's own pointer/keyboard handlers and expanded state. */
.nc2-editor .ace_editor .ace_fold-widget { background-size: 9px 9px; }
.nc2-editor .ace_editor .ace_fold-widget.ace_open { background-image: url("/ui/operation-icons/v1/arrow-down.webp"); }
.nc2-editor .ace_editor .ace_fold-widget.ace_end { background-image: url("/ui/operation-icons/v1/arrow-up.webp"); }
.nc2-editor .ace_editor .ace_fold-widget.ace_closed { background-image: url("/ui/operation-icons/v1/arrow-right.webp"); }

/* Link buttons and their editor. Width/height are bounded by the module policy. */
.nc2-button {
    --nc2-button-width:100%; --nc2-button-height:56px; --nc2-button-color:#2563eb;
    --nc2-button-text:#fff; --nc2-button-gradient:#1e4fbc; --nc2-button-font-size:50px;
    display:flex; align-items:flex-start; justify-content:center;
    box-sizing:border-box; width:100%; max-width:100%; min-width:0; padding:5px;
}
/* A rendered button needs no second inset inside its block. Keep the editor preview unchanged. */
.nc2-button[data-nc2-button-view] { padding: 0; }
.nc2-button[data-nc2-button-view] .nc2-button-link:focus-visible { outline-offset: 1px; }
/* Only the stock four-sided 8px block spacing is compacted. The stored value stays intact.
   Match both the server spelling and CSSOM spellings so a block-style edit takes effect at once.
   Nested module boxes are groups: never compact their outer cell along with the button's own cell. */
.nc2-web .cell:is([style="padding:8px 8px 8px 8px;"], [style="padding: 8px 8px 8px 8px;"], [style="padding: 8px;"]):has(> .module_box.noneframe [data-nc2-button-view]):not(:has(> .module_box .module_box)) {
    padding: 4px !important;
}
.nc2-button--left { justify-content:flex-start; }
.nc2-button--right { justify-content:flex-end; }
.nc2-button .nc2-button-link {
    display:inline-flex; align-items:center; justify-content:center; flex-wrap:nowrap; gap:0;
    box-sizing:border-box; width:var(--nc2-button-width); max-width:100%; min-width:0;
    min-height:var(--nc2-button-height); height:var(--nc2-button-height); container-type:inline-size; padding:1px;
    border:2px solid var(--nc2-button-color); border-radius:8px;
    background:var(--nc2-button-color); color:var(--nc2-button-text);
    font:inherit; font-weight:700; line-height:1; text-align:center;
    text-decoration:none; white-space:nowrap; overflow-wrap:normal; word-break:normal;
    box-shadow:none; vertical-align:middle;
}
.nc2-button .nc2-button-label {
    display:block; min-width:0; max-width:100%; white-space:nowrap; overflow-wrap:normal; line-height:1;
    font-size:var(--nc2-button-font-size);
    /* Only cap an individual glyph larger than the actual button content width. */
    font-size:min(var(--nc2-button-font-size), 100cqi);
}
.nc2-button .nc2-button-newtab { display:inline-block; margin-left:.35em; font-size:.9em; }
.nc2-button .nc2-button-link--square { border-radius:0; }
.nc2-button .nc2-button-link--rounded { border-radius:10px; }
.nc2-button .nc2-button-link--pill { border-radius:999px; }
.nc2-button .nc2-button-link--raised { border-radius:8px; box-shadow:0 4px 0 rgba(0,0,0,.22); }
.nc2-button .nc2-button-link--outline { background:#fff; }
.nc2-button .nc2-button-link--gradient { background:linear-gradient(135deg,var(--nc2-button-color),var(--nc2-button-gradient)); }
.nc2-button a.nc2-button-link:hover { text-decoration:underline; text-underline-offset:.16em; }
.nc2-button a.nc2-button-link:focus-visible { outline:3px solid #075985; outline-offset:2px; }
.nc2-button .nc2-button-newtab[hidden], .nc2-button-edit [hidden] { display:none !important; }
.nc2-button-sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.nc2-button-empty { margin:8px; overflow-wrap:anywhere; }
.nc2-button-edit { display:grid; gap:16px; max-width:100%; min-width:0; padding:8px; color:inherit; }
.nc2-button-edit *, .nc2-button-edit *::before, .nc2-button-edit *::after { box-sizing:border-box; }
.nc2-button-edit__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr)); gap:14px; min-width:0; }
.nc2-button-edit__field { display:grid; gap:6px; min-width:0; align-content:start; }
.nc2-button-edit input[type=text], .nc2-button-edit input[type=number], .nc2-button-edit select {
    display:block; width:100%; max-width:100%; min-width:0; min-height:40px;
    border:1px solid #64748b; border-radius:4px; padding:7px 8px; background:#fff; color:#172033; font:inherit;
}
.nc2-button-edit input:disabled { opacity:.65; background:#f1f5f9; }
.nc2-button-edit input:focus-visible, .nc2-button-edit select:focus-visible, .nc2-button-edit button:focus-visible { outline:3px solid #075985; outline-offset:2px; }
.nc2-button-edit fieldset { min-width:0; margin:0; padding:10px 12px 12px; border:1px solid #b8c6d7; border-radius:6px; }
.nc2-button-edit legend { max-width:100%; padding:0 5px; font-weight:700; overflow-wrap:anywhere; }
.nc2-button-edit__choice { display:flex; align-items:center; gap:7px; min-height:40px; cursor:pointer; overflow-wrap:anywhere; }
.nc2-button-edit__choice input { flex:none; margin:0; }
.nc2-button-edit__dimension { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.nc2-button-edit__dimension input[type=number] { width:8em; max-width:100%; }
.nc2-button-edit__hint { margin:0; font-size:.92em; line-height:1.6; overflow-wrap:anywhere; }
.nc2-button-edit__palette { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.nc2-button-edit__palette button {
    width:44px; height:44px; padding:3px; border:3px solid #fff; border-radius:7px;
    background:var(--swatch); box-shadow:0 0 0 1px #64748b; cursor:pointer;
}
.nc2-button-edit__palette button[aria-pressed=true] { outline:3px solid #172033; outline-offset:2px; }
.nc2-button-edit__colors { display:flex; align-items:flex-end; gap:12px; flex-wrap:wrap; }
.nc2-button-edit__colors .nc2-button-edit__field { width:9em; max-width:100%; }
.nc2-button-edit input[type=color] { display:block; width:48px; height:44px; max-width:100%; padding:3px; border:1px solid #64748b; border-radius:4px; cursor:pointer; background:#fff; }
.nc2-button-preview { min-width:0; padding:12px; border:1px dashed #94a3b8; border-radius:8px; background:#f4f7fb; color:#172033; }
.nc2-button-preview h3 { margin:0 0 10px; font:inherit; font-weight:700; }
.nc2-button-preview .nc2-button { margin-bottom:10px; }
.nc2-button-edit__warning { margin:10px 0 0; color:#8a3300; background:#fff3df; border-left:4px solid #b45309; padding:10px; line-height:1.6; overflow-wrap:anywhere; }
.nc2-button-edit__error { padding:10px; border:2px solid #b91c1c; border-radius:4px; color:#8b1111; background:#fff4f4; overflow-wrap:anywhere; }
.nc2-button-edit__actions { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; }
.nc2-button-edit__actions button { min-height:44px; min-width:88px; padding:8px 16px; cursor:pointer; }
@media (prefers-reduced-motion:reduce) { .nc2-button .nc2-button-link { animation:none; transition:none; } }
@media print { .nc2-button .nc2-button-link { box-shadow:none; print-color-adjust:exact; -webkit-print-color-adjust:exact; } }

.nc2-entryguide,.nc2-entryguide-admin{color:inherit;font-size:15px;line-height:1.8;overflow-wrap:anywhere;text-align:left}
.nc2-entryguide-admin{font-size:14px;line-height:1.7}
.nc2-entryguide *,.nc2-entryguide-admin *{box-sizing:border-box}
/* Status colors carry application meaning; keep the surrounding site theme quiet. */
.nc2-entryguide-item{--entryguide-status-ink:#4b5563;--entryguide-status-fill:#f3f4f6;--entryguide-status-line:#cbd0d7;padding:20px;margin:0 0 16px;border:1px solid #dce0e4;border-left:4px solid var(--entryguide-status-line);border-radius:4px;background:#fff;color:#293447}
.nc2-entryguide-item:last-child{margin-bottom:0}
.nc2-entryguide-item--active{--entryguide-status-ink:#a12222;--entryguide-status-fill:#fff1f0;--entryguide-status-line:#d6473e}
.nc2-entryguide-item--always_show{--entryguide-status-ink:#24613e;--entryguide-status-fill:#edf7f0;--entryguide-status-line:#448661}
.nc2-entryguide-item--coming_soon{--entryguide-status-ink:#225ba0;--entryguide-status-fill:#edf4fc;--entryguide-status-line:#4f83bd}
.nc2-entryguide-item--ended{--entryguide-status-ink:#975007;--entryguide-status-fill:#fff5e8;--entryguide-status-line:#d49a50}
.nc2-entryguide-name{font-size:20px;line-height:1.5;margin:0 0 12px;color:inherit;font-weight:600}
.nc2-entryguide-comment{white-space:pre-wrap;margin:0 0 16px}
.nc2-entryguide-status{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;margin:0 0 8px}
.nc2-entryguide-badge{display:inline-block;padding:2px 12px;border:1px solid var(--entryguide-status-line);border-radius:16px;font-size:14px;font-weight:600;line-height:1.6;color:var(--entryguide-status-ink);background:var(--entryguide-status-fill)}
.nc2-entryguide-countdown{font-size:14px;color:#59616b;font-variant-numeric:tabular-nums}
.nc2-entryguide-item--coming_soon .nc2-entryguide-countdown{color:#225ba0}
.nc2-entryguide-refresh{margin:16px 0 0}.nc2-entryguide-refresh[hidden]{display:none}
.nc2-entryguide-period{display:grid;gap:4px;margin:0;font-size:14px;font-variant-numeric:tabular-nums}
.nc2-entryguide-period>div{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:16px;align-items:baseline}
.nc2-entryguide-period dt{color:#59616b;font-weight:400}.nc2-entryguide-period dd{margin:0}
.nc2-entryguide-deadline dt,.nc2-entryguide-deadline dd{color:#a12222;font-weight:600}
.nc2-entryguide-item--active .nc2-entryguide-countdown{color:#a12222;font-weight:600}
.nc2-entryguide-timezone{margin:4px 0 0;color:#59616b;font-size:13px}
.nc2-entryguide-verify{margin-top:20px;padding:0;border:0;background:transparent}
.nc2-entryguide-verify>label{display:block;margin-bottom:8px;font-size:14px}
.nc2-entryguide-password-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.nc2-entryguide-password-row input{flex:1 1 160px;min-width:0}
.nc2-entryguide input,.nc2-entryguide-admin input:not([type=checkbox]),.nc2-entryguide-admin textarea{font:inherit;border:1px solid #8c949e;border-radius:4px;padding:8px;max-width:100%;color:#293447;background:#fff}
.nc2-entryguide button,.nc2-entryguide-admin button,.nc2-entryguide-open{font:inherit;font-weight:500;line-height:1.6;min-height:44px;border:1px solid #30363f;border-radius:4px;padding:8px 16px;color:#fff;background:#30363f;cursor:pointer;text-decoration:none;display:inline-block;max-width:100%}
.nc2-entryguide-password-row button{color:#30363f;background:#fff;border-color:#8c949e}
/* Themes style ordinary content links; this button keeps its contrasting foreground in every link state. */
a.nc2-entryguide-open:any-link{color:#fff!important}
.nc2-entryguide button:disabled,.nc2-entryguide-admin button:disabled{opacity:.6;cursor:wait}
.nc2-entryguide-result:empty{display:none}.nc2-entryguide-result{margin-top:16px}.nc2-entryguide-confirmed{margin:0 0 12px}.nc2-entryguide-error,.nc2-entryguide-form-error{color:#9b2424}
.nc2-entryguide-hint,.nc2-entryguide-empty{color:#59616b;font-size:14px}.nc2-entryguide-hint{margin:8px 0 16px}
.nc2-entryguide-edit>label{display:block;margin-top:16px}.nc2-entryguide-edit input:not([type=checkbox]):not([type=hidden]),.nc2-entryguide-edit textarea{display:block;width:100%;margin-top:8px}
.nc2-entryguide-edit .nc2-entryguide-check{display:flex;gap:8px;align-items:center}.nc2-entryguide-check input{width:auto}
.nc2-entryguide-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.nc2-entryguide-date-group{min-width:0;margin:0;padding:12px;border:1px solid #d0d5db;border-radius:4px}
.nc2-entryguide-date-group legend{padding:0 4px;font-weight:600}.nc2-entryguide-date-controls{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px}
.nc2-entryguide-date-controls>label{display:block;min-width:0}.nc2-entryguide-date-controls input{min-width:0}
.nc2-entryguide-edit input:disabled{background:#f3f4f5;color:#626b76}.nc2-entryguide-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px}
.nc2-entryguide-actions form{margin:0}.nc2-entryguide-admin .nc2-entryguide-actions button.btn-width{width:auto}.nc2-entryguide-admin a{color:inherit;text-decoration:underline}.nc2-entryguide-notice{padding:12px;border-left:4px solid #747d88;background:#f3f4f5}
.nc2-entryguide-managed{padding:16px 0;border-top:1px solid #dce0e4}.nc2-entryguide-managed h4{margin:0;font-size:16px;font-weight:600}.nc2-entryguide-managed p{font-size:14px;margin:8px 0}
.nc2-entryguide-manage-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:32px}.nc2-entryguide-manage-heading h3{margin:0}
.nc2-entryguide-admin h3{font-size:18px;font-weight:600}
.nc2-entryguide :focus-visible,.nc2-entryguide-admin :focus-visible{outline:2px solid #075ca8;outline-offset:4px}
@media(max-width:600px){.nc2-entryguide-dates{grid-template-columns:1fr}.nc2-entryguide-name{font-size:18px}.nc2-entryguide-password-row button{flex:0 0 auto}}
@media(max-width:420px){.nc2-entryguide-date-controls{grid-template-columns:1fr}}

/* Cabinet List */
.cabinet_total_size {
	width:80px;
}
td.cabinet_total_size {
	text-align:right;
}
.cabinet_upload_max_size {
	font-size:80%;
}

/* Address Bar */
td.cabinet_address input {
	width:100%;
}
td.cabinet_address {
	width:100%;
	padding-right:6px;
}

/* Standard Button */
.cabinet_add_folder,.cabinet_add_file,.cabinet_compression,.cabinet_decompression,.cabinet_trash_box {
	white-space:nowrap;
	padding:3px 1px;
}
.cabinet_add_folder,.cabinet_add_file,.cabinet_compression,.cabinet_decompression {
	margin:5px 15px 5px 0px;
}
.cabinet_trash_box {
	margin:5px 0px 5px 0px;
}
img.cabinet_standardbtn {
	vertical-align:bottom;
	margin-right: 3px;
}

/* Explorer Header */
table.cabinet_explorer_header th {
	padding : 2px;
	background-color : #f0f4f7;
	font-weight:normal;
	text-align:left;
}

/* Explorer Folder Tree */
table.cabinet_explore_left {
	width:200px;
}
.cabinet_explore_folder_tree{
	height:230px;
	width:200px;
	overflow:scroll;
}
img.cabinet_branch {
	vertical-align:bottom;
}


/* Explorer Grid */
.cabinet_file_name {
	width:190px;
}
.cabinet_file_size {
	width:60px;
}
.cabinet_file_comment {
	width:250px;
}
.cabinet_file_ins_user,.cabinet_file_upd_user {
	width:90px;
}
.cabinet_file_ins_date,.cabinet_file_upd_date {
	width:90px;
}
.cabinet_count {
	width:40px;
}
.cabinet_context {
	width:18px;
}
td.cabinet_grid_row {}

.cabinet_grid_table {width:666px;}

img.cabinet_sort_img {
	padding-left:8px;
}

/* Property */
.cabinet_property_title {
	padding:2px 10px;
	vertical-align:top;
}
.cabinet_property_hr {
	padding:2px 5px;
}
.cabinet_property_value,.cabinet_property_nonover {
	padding:2px 10px 2px 5px;
	vertical-align:top;
}
.cabinet_property_title {
	white-space:nowrap;
}
.cabinet_property_value div{
	overflow:hidden;
	width: 220px;
}
.cabinet_property_nonover div{
	width: 220px;
	white-space:normal;
	overflow-wrap:anywhere;
}


/* Cabinet controls are scoped so the management screens retain their layout. */
.nc2-cabinet { --cabinet-control-size:32px; --cabinet-row-size:40px; --cabinet-row-padding:3px; container-type:inline-size; contain:inline-size; min-width:0; max-width:100%; color:#243447; }
.nc2-cabinet *, .nc2-cabinet *::before, .nc2-cabinet *::after { box-sizing:border-box; }
.nc2-cabinet [hidden] { display:none!important; }
.nc2-cabinet-layout { display:flex; align-items:flex-start; gap:12px; min-width:0; }
.nc2-cabinet-main { min-width:0; flex:1 1 0; max-width:100%; }
.nc2-cabinet-sidebar { flex:0 0 clamp(148px,24%,200px); min-width:0; border:1px solid #d6e0e8; border-radius:10px; background:#f7f9fc; }
.nc2-cabinet-sidebar > summary { padding:6px 10px; cursor:default; list-style:none; pointer-events:none; min-height:var(--cabinet-control-size); font-weight:bold; }
.nc2-cabinet-sidebar > summary::-webkit-details-marker { display:none; }
.nc2-cabinet-sidebar .cabinet_explore_left { width:100%; }
.nc2-cabinet-sidebar .cabinet_explorer_header { width:100%; border-collapse:collapse; }
.nc2-cabinet-sidebar .cabinet_explorer_header > tbody > tr:first-child { display:none; }
.nc2-cabinet-sidebar .cabinet_explore_folder_tree { width:100%; max-width:100%; height:auto!important; max-height:420px; overflow:auto; padding:2px 8px 8px; }
.nc2-cabinet-sidebar .cabinet_explore_folder_tree .nowrap { white-space:normal; overflow-wrap:anywhere; }
.nc2-cabinet-sidebar .cabinet_explore_folder_tree a { display:inline-flex; align-items:center; min-height:var(--cabinet-control-size); max-width:100%; vertical-align:middle; text-decoration:none; }
.nc2-cabinet-sidebar .nc2-cabinet-branch { justify-content:center; min-width:32px; }
.nc2-cabinet-sidebar .highlight { border-radius:5px; background:#dcecfb; color:#143d62; }
.nc2-cabinet button, .nc2-cabinet select, .nc2-cabinet input[type="text"] { font:inherit; color:#243447; background:#fff; border:1px solid #aebdce; border-radius:6px; min-height:var(--cabinet-control-size); max-width:100%; }
.nc2-cabinet button { cursor:pointer; padding:4px 8px; white-space:normal; overflow-wrap:anywhere; }
.nc2-cabinet button:hover:not(:disabled) { border-color:#2563a6; background:#eaf3fc; }
.nc2-cabinet button:disabled { opacity:.55; cursor:default; }
.nc2-cabinet :is(a,button,input,select,summary,th):focus-visible { outline:3px solid #1879bd; outline-offset:2px; }
.nc2-cabinet-address { display:flex; align-items:center; flex-wrap:wrap; gap:4px 12px; margin-bottom:6px; }
.nc2-cabinet-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:4px 8px; min-width:0; flex:1 1 auto; padding:0; }
.nc2-cabinet-breadcrumb > [aria-current] { font-weight:bold; overflow-wrap:anywhere; min-width:0; padding:4px 0; }
.nc2-cabinet-breadcrumb button { background:#f1f6fb; }
.nc2-cabinet-address-editor { color:#455a72; margin:0; }
.nc2-cabinet-address-editor[open] { flex-basis:100%; }
.nc2-cabinet-address-editor summary { cursor:pointer; min-height:32px; padding:6px 0; }
.nc2-cabinet-address-editor label { display:block; margin:8px 0 4px; }
.nc2-cabinet-address-editor input { width:min(100%,32rem); padding:8px; margin:0 6px 8px 0; }
.nc2-cabinet-controls { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; padding-bottom:8px; }
.nc2-cabinet-create { margin-right:auto; }
.nc2-cabinet-toolbar { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin:0; }
.nc2-cabinet-toolbar :is(.cabinet_add_folder,.cabinet_add_file,.cabinet_compression,.cabinet_decompression,.cabinet_trash_box) { margin:0; padding:0; white-space:normal; }
.nc2-cabinet-toolbar a { display:inline-flex; gap:5px; align-items:center; min-height:var(--cabinet-control-size); padding:4px 8px; border:1px solid #bccbdc; border-radius:7px; background:#f5f9fd; text-decoration:none; }
.nc2-cabinet-toolbar img.cabinet_standardbtn { width:20px; height:20px; object-fit:contain; margin:0; }
.nc2-cabinet-tools { display:contents; }
.nc2-cabinet-order { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-left:auto; }
.nc2-cabinet-sort { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.nc2-cabinet-tools select { padding:3px 24px 3px 6px; }
.nc2-cabinet-selection { display:flex; align-items:center; flex-wrap:wrap; gap:6px; flex:1 1 100%; padding-top:6px; border-top:1px solid #e2e9f0; }
.nc2-cabinet-help { margin-left:auto; }
.nc2-cabinet-help summary { min-height:var(--cabinet-control-size); padding:4px 6px; cursor:pointer; color:#455a72; }
.nc2-cabinet-help[open] { flex-basis:100%; }
.nc2-cabinet button.nc2-cabinet-download { background:#1d5fa8; color:#fff; border-color:#1d5fa8; font-weight:bold; }
.nc2-cabinet button.nc2-cabinet-download:hover:not(:disabled) { background:#174d8a; }
.nc2-cabinet-hint { margin:4px 6px; line-height:1.6; color:#52677b; }
.nc2-cabinet-status { flex-basis:100%; margin:0; padding:10px; border-radius:6px; background:#eef5fc; overflow-wrap:anywhere; }
.nc2-cabinet-status--error { background:#fff0ee; color:#9f261c; border:1px solid #e5aaa3; }
.nc2-cabinet-list-viewport { max-width:100%; min-width:0; overflow:auto; overscroll-behavior-inline:contain; border:1px solid #d6e0e8; border-radius:8px; padding:2px; }
.nc2-cabinet .cabinet_right_header, .nc2-cabinet table.cabinet_right { border-spacing:0; border-collapse:collapse; width:100%; }
.nc2-cabinet .cabinet_right_header th { padding:6px; background:#edf3f9; font-weight:bold; color:#334a62; }
.nc2-cabinet table.cabinet_right td { border-bottom:1px solid #e2e9f0; padding:var(--cabinet-row-padding) 6px; height:var(--cabinet-row-size); vertical-align:middle; }
.nc2-cabinet table.cabinet_right tr:last-child td { border-bottom:0; }
.nc2-cabinet table.cabinet_right tr:hover { background:#f5f9fd; }
.nc2-cabinet table.cabinet_right tr.nc2-cabinet-selected { background:#eaf3fc; }
.nc2-cabinet .cabinet_file_name { width:240px; min-width:240px; }
.nc2-cabinet .cabinet_context { width:76px; min-width:76px; }
.nc2-cabinet .cabinet_file_size { width:70px; min-width:70px; }
.nc2-cabinet-file-select { display:flex; float:left; align-items:center; justify-content:center; width:28px; height:var(--cabinet-control-size); cursor:pointer; }
.nc2-cabinet-file-select input { width:18px; height:18px; margin:0; accent-color:#1d5fa8; }
.nc2-cabinet .cabinet_file_name > .float-left { display:flex; align-items:center; height:var(--cabinet-control-size); }
.nc2-cabinet .cabinet_file_name > .nc2-cabinet-file-link { display:flex; align-items:center; min-height:var(--cabinet-control-size); overflow-wrap:anywhere; white-space:normal; margin-left:24px; }
.nc2-cabinet .nc2-cabinet-file-select ~ .nc2-cabinet-file-link { margin-left:60px!important; }
.nc2-cabinet .nc2-cabinet-context-link { display:inline-flex; align-items:center; justify-content:center; gap:4px; min-height:var(--cabinet-control-size); min-width:64px; padding:4px; border:1px solid #c3d1df; border-radius:6px; text-decoration:none; background:#fff; }
.nc2-cabinet-context-link img { width:16px; height:16px; object-fit:contain; }
.nc2-cabinet[data-cabinet-template="fixed-height"] .cabinet_fixed-height_grid_row { height:var(--cabinet-row-size)!important; line-height:20px; padding:var(--cabinet-row-padding) 6px; }
.nc2-cabinet[data-cabinet-template="fixed-height"] .cabinet_fixed-height_grid_row > div { height:var(--cabinet-control-size); max-height:var(--cabinet-control-size); overflow:hidden; }
.nc2-cabinet[data-cabinet-template="fixed-height"] .nc2-cabinet-file-link { display:block; line-height:var(--cabinet-control-size); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nc2-cabinet[data-cabinet-template="fixed-height"] .cabinet_right_header .cabinet_file_name, .nc2-cabinet[data-cabinet-template="fixed-height"] .cabinet_fixed-height_grid_row .cabinet_file_name { width:240px!important; }
.nc2-cabinet[data-cabinet-template="fixed-height"] .cabinet_right_header .cabinet_context, .nc2-cabinet[data-cabinet-template="fixed-height"] .cabinet_fixed-height_grid_row .cabinet_context { width:76px!important; }
/* List mode stays one file per row at every width; only the right pane scrolls. */
.nc2-cabinet [data-cabinet-list-panel] .cabinet_right td > div:not(.cabinet_context) { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nc2-cabinet [data-cabinet-list-panel] .cabinet_file_name:has(> .nc2-cabinet-file-link) { display:flex; align-items:center; gap:4px; }
.nc2-cabinet [data-cabinet-list-panel] .cabinet_file_name > .nc2-cabinet-file-link { display:block; flex:1 1 0; min-width:0; width:0; margin-left:0!important; box-sizing:border-box; height:var(--cabinet-control-size); line-height:var(--cabinet-control-size); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nc2-cabinet [data-cabinet-list-panel] .cabinet_file_name > :is(.float-left,.nc2-cabinet-file-select) { flex-shrink:0; }
.nc2-cabinet [data-cabinet-list-panel] .cabinet_context { flex-wrap:nowrap; }
.nc2-cabinet [data-cabinet-list-panel] thead th { position:sticky; top:0; z-index:1; }
@container (width < 600px) {
 .nc2-cabinet-layout { flex-direction:column; gap:12px; }
 .nc2-cabinet-sidebar { flex:auto; width:100%; }
 .nc2-cabinet-sidebar > summary { cursor:pointer; pointer-events:auto; list-style:disclosure-closed; }
 .nc2-cabinet-sidebar[open] > summary { list-style:disclosure-open; }
 .nc2-cabinet-sidebar > summary::-webkit-details-marker { display:initial; }
 .nc2-cabinet-sidebar .cabinet_explore_folder_tree { max-height:180px; }
 .nc2-cabinet-main { width:100%; flex:auto; }
 .nc2-cabinet-order { margin-left:0; }
}

@media (max-width:768px), (pointer:coarse) {
 .nc2-cabinet { --cabinet-control-size:44px; --cabinet-row-size:48px; --cabinet-row-padding:1px; }
 .nc2-cabinet-sidebar .nc2-cabinet-branch { min-width:44px; }
 .nc2-cabinet-file-select { width:32px; }
}

@media print {
 .nc2-cabinet { --cabinet-control-size:32px; --cabinet-row-size:40px; --cabinet-row-padding:3px; container-type:normal; contain:none; }
 .nc2-cabinet :is(.nc2-cabinet-sidebar,.nc2-cabinet-controls,.nc2-cabinet-address-editor,.nc2-cabinet-file-select,.nc2-cabinet-context-link) { display:none!important; }
 .nc2-cabinet .nc2-cabinet-list-viewport { overflow:visible; }
 .nc2-cabinet .nc2-cabinet-file-link { margin-left:24px!important; }
}


.nc2-cabinet div.cabinet_context { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.nc2-cabinet .nc2-cabinet-file-link[aria-busy="true"] { opacity:.6; cursor:progress; }

.nc2-cabinet button.nc2-cabinet-file-link { padding:0; border:0; border-radius:0; background:transparent; color:#245c8a; text-decoration:underline; text-align:left; max-width:calc(100% - 24px); }
.nc2-cabinet .nc2-cabinet-file-select ~ button.nc2-cabinet-file-link { max-width:calc(100% - 60px); }
.nc2-cabinet button.nc2-cabinet-file-link:hover:not(:disabled) { background:transparent; color:#163f68; }

.nc2-cabinet .nc2-cabinet-parent-row a { display:inline-flex; align-items:center; gap:6px; min-height:var(--cabinet-control-size); }

.nc2-cabinet [data-cabinet-list-panel] td.cabinet_context { display:table-cell; }
.nc2-cabinet [data-cabinet-list-panel] table.cabinet_right > tbody > tr > td:has(.cabinet_context) > div { overflow:visible!important; }
.nc2-cabinet [data-cabinet-list-panel] .nc2-cabinet-file-link:focus-visible { outline-offset:-3px; }

/* LiveGrid adds an anonymous sizing wrapper around the operation cell. */
.nc2-cabinet[data-cabinet-template="fixed-height"] [data-cabinet-list-panel] td.cabinet_context > div { width:76px!important; min-width:76px; }

.nc2-cabinet [data-cabinet-list-panel] td.cabinet_context div { overflow:visible!important; }
.nc2-cabinet .nc2-cabinet-context-link:focus-visible { outline-offset:-3px; }

.nc2-cabinet[data-cabinet-template="fixed-height"] [data-cabinet-list-panel] .cabinet_right_header { width:max-content; }

/* Keep actions accessible without scrolling metadata columns into view. */
.nc2-cabinet [data-cabinet-list-panel] :is(table.cabinet_right > tbody > tr > td,table.cabinet_right_header th):is(.cabinet_context,:has(.cabinet_context)) { position:sticky; right:0; z-index:2; background:#fff; box-shadow:-3px 0 5px -4px #52677b; }
.nc2-cabinet [data-cabinet-list-panel] .cabinet_right_header th:has(.cabinet_context) { z-index:4; background:#edf3f9; }
.nc2-cabinet [data-cabinet-list-panel] tr:hover td:has(.cabinet_context) { background:#f5f9fd; }
.nc2-cabinet .cabinet_context { width:76px!important; min-width:76px; white-space:nowrap; justify-content:center; }
.nc2-cabinet .nc2-cabinet-context-link { box-sizing:border-box; min-width:64px; white-space:nowrap; }
/* The default name/actions pair fits the pane; only optional metadata may scroll. */
.nc2-cabinet-simple [data-cabinet-list-panel] :is(table.cabinet_right,table.cabinet_right_header) { width:100%!important; min-width:0; table-layout:fixed; }
.nc2-cabinet-simple [data-cabinet-list-panel] :is(table.cabinet_right > tbody > tr > td,table.cabinet_right_header th):is(.cabinet_context,:has(.cabinet_context)) { width:92px!important; }
.nc2-cabinet-simple[data-cabinet-template] [data-cabinet-list-panel] .cabinet_file_name { width:auto!important; min-width:0!important; }
.nc2-cabinet-simple [data-cabinet-list-panel] td.cabinet_file_name > div { width:100%!important; min-width:0!important; }
.nc2-cabinet-simple .nc2-cabinet-file-link { max-width:100%!important; }

.nc2-cabinet-simple .cabinet_right_viewport { width:100%; table-layout:fixed; }
.nc2-cabinet-simple .cabinet_right_viewport > tbody > tr > td:last-child { width:var(--cabinet-scrollbar,0px); }
.nc2-cabinet-simple[data-cabinet-template="fixed-height"] [data-cabinet-list-panel] .cabinet_right_header { width:calc(100% - var(--cabinet-scrollbar,0px))!important; }

