* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: #f6f7f9;
    color: #222;
    font-family: "Noto Sans KR", "Apple SD Gothic Neo", Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5;
}

a {
    color: #2457a6;
    text-decoration: none;
}

a:hover,
a:focus {
    text-decoration: underline;
}

img {
    max-width: 100%;
    height: auto;
}

table {
    max-width: 100%;
}

.site-header {
    background: #fff;
    border-bottom: 1px solid #d9dee7;
    font-family: "Noto Sans KR", "Apple SD Gothic Neo", Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    text-align: left;
}

.site-header__inner {
    width: min(1024px, calc(100% - 32px));
    margin: 0 auto;
    padding: 18px 0 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.site-header .site-header__inner {
    width: min(1024px, calc(100% - 32px)) !important;
    margin: 0 auto !important;
    padding: 18px 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
}

.site-logo {
    display: inline-flex;
    align-items: center;
    color: #111827;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.5;
}

.site-logo:hover,
.site-logo:focus {
    text-decoration: none;
}

.site-header .site-logo,
.site-header .site-logo:link,
.site-header .site-logo:visited,
.site-header .site-logo:active {
    color: #111827;
    font-family: "Noto Sans KR", "Apple SD Gothic Neo", Arial, sans-serif !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
}

.site-logo img {
    display: block;
    width: 319px;
    max-width: 100%;
    height: 43px;
}

.site-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.site-nav a {
    min-height: 38px;
    padding: 9px 12px;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #374151;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
}

.site-nav a:hover,
.site-nav a:focus {
    border-color: #cbd5e1;
    background: #f8fafc;
    text-decoration: none;
}

.site-header .site-nav a,
.site-header .site-nav a:link,
.site-header .site-nav a:visited,
.site-header .site-nav a:active {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 38px !important;
    padding: 9px 12px !important;
    border: 1px solid transparent !important;
    border-radius: 6px !important;
    color: #374151;
    font-family: "Noto Sans KR", "Apple SD Gothic Neo", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
}

.site-header .site-nav a:hover,
.site-header .site-nav a:focus {
    color: #374151 !important;
}

.site-main {
    width: min(1024px, calc(100% - 32px));
    margin: 24px auto 40px;
}

.jav-layout {
    display: grid;
    grid-template-columns: var(--jav-sidebar-width, 220px) var(--jav-content-width, 790px);
    column-gap: var(--jav-gap-width, 14px);
    align-items: start;
    width: var(--jav-layout-width, 1024px);
    max-width: 100%;
}

.jav-layout__sidebar,
.jav-layout__content {
    min-width: 0;
}

.jav-photo-upload {
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-align: center;
}

.jav-photo-upload__head {
    min-height: 30px;
    margin-top: -20px;
    padding: 7px 10px;
    box-sizing: border-box;
    background: #333;
    border-bottom: 1px solid #ddd;
    color: #fff;
    font-weight: 700;
    line-height: 16px;
}

.jav-photo-upload__body {
    margin-top: 10px;
    padding-bottom: 12px;
    border-bottom: 1px solid #ddd;
}

.jav-photo-upload__field,
.jav-photo-upload__message {
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.jav-photo-upload__file {
    width: 90%;
    max-width: 100%;
}

.jav-photo-upload__actions {
    min-height: 30px;
    margin-top: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-layout {
    display: grid;
    grid-template-columns: 209px 800px;
    gap: 15px;
    align-items: start;
}

.home-sidebar,
.home-content {
    min-width: 0;
}

.legacy-panel,
.content-section {
    margin-bottom: 16px;
    padding: 14px;
    overflow-x: auto;
    border: 1px solid #d9dee7;
    border-radius: 8px;
    background: #fff;
}

.legacy-panel,
.legacy-panel table,
.legacy-panel tr,
.legacy-panel td,
.legacy-panel p,
.legacy-panel span,
.legacy-panel a,
.legacy-panel input,
.legacy-panel button,
.submenu-panel,
.submenu-panel a,
.submenu-panel button {
    font-family: "NanumGothic", "Nanum Gothic", "Noto Sans KR", "Malgun Gothic", "Dotum", "Arial", sans-serif;
    font-size: 10.5pt;
    font-weight: normal;
    color: #333;
    line-height: 1.5;
}

.legacy-panel td[background],
.legacy-panel input.login {
    background-image: none !important;
}

.legacy-panel a {
    font-size: 12px;
}

.legacy-panel input.login {
    font-family: "Verdana", "Dotum", sans-serif;
    font-size: 9pt;
}

.submenu-panel {
    margin-top: 10px;
    text-align: left;
}

.submenu-group + .submenu-group {
    margin-top: 10px;
}

.submenu-group {
    padding: 14px;
    border: 1px solid #d9dee7;
    border-radius: 8px;
    background: #fff;
}

.submenu-group__title {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    margin: -14px -14px 10px;
    padding: 10px 14px;
    border-bottom: 1px solid #e4e9f2;
    border-radius: 8px 8px 0 0;
    background: #f3f5f8;
    color: #111827;
    font-size: 10.5pt;
    font-weight: 800;
    line-height: 1.4;
    text-align: left;
}

.submenu-group__title,
.submenu-group__label,
.submenu-group[data-submenu-group="admin"] .submenu-group__title,
.submenu-group[data-submenu-group="admin"] .submenu-group__label {
    font-size: 10.5pt;
    font-weight: 800;
}

button.submenu-group__title {
    display: flex;
    width: calc(100% + 28px);
    max-width: none;
    box-sizing: border-box;
    border-right: 0;
    border-left: 0;
    border-top: 0;
    appearance: none;
    cursor: pointer;
    font-family: inherit;
}

.submenu-group--collapsible > .submenu-group__title {
    margin-right: -14px;
    margin-left: -14px;
}

.submenu-group--collapsible.is-collapsed {
    padding-bottom: 0;
}

.submenu-group--collapsible.is-collapsed .submenu-group__title {
    margin-bottom: 0;
    border-bottom: 0;
    border-radius: 8px;
}

.submenu-group__label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.submenu-group__toggle {
    justify-content: space-between;
}

.submenu-group__chevron::before {
    content: "+";
    display: inline-block;
    color: #6b7280;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
}

.submenu-group.is-expanded .submenu-group__chevron::before {
    content: "-";
}

.submenu-group__icon {
    flex: 0 0 auto;
    max-width: none;
    width: auto;
    height: 13px;
}

.submenu-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.submenu-list__item + .submenu-list__item {
    margin-top: 4px;
}

.submenu-list__divider {
    height: 1px;
    margin: 8px 0;
    background: #e4e9f2;
}

.submenu-list__item a {
    display: block;
    padding: 5px 8px;
    border-radius: 6px;
    color: #374151;
    font-size: 10.5pt;
    font-weight: normal;
    line-height: 1.4;
}

.submenu-list__item a::before {
    content: "- ";
    color: #8a94a6;
}

.submenu-list__item a:hover,
.submenu-list__item a:focus {
    background: #f8fafc;
    color: #2457a6;
    text-decoration: none;
}

.submenu-list__item.is-active a {
    background: #e8f0fb;
    color: #1d4f91;
    font-weight: 800;
}

.login-box-form {
    display: grid;
    gap: 7px;
    margin: 0;
    font-family: "NanumGothic", "NanumMyeongjo", "Noto Sans KR", "Malgun Gothic", sans-serif;
}

.login-box-form__field input {
    display: block;
    width: 100%;
    height: 30px;
    padding: 5px 8px;
    border: 1px solid #cfd7e6;
    border-radius: 4px;
    background: #fff;
    color: #222;
    font-family: "NanumGothic", "NanumMyeongjo", "Noto Sans KR", "Malgun Gothic", sans-serif;
}

.legacy-panel .login-box-form__button {
    display: block;
    width: 100%;
    min-width: 130px;
    min-height: 32px;
    height: 32px;
    padding: 6px 16px;
    border: 1px solid #333;
    border-radius: 8px;
    background: #333;
    color: #fff;
    font-family: "NanumGothic", "NanumMyeongjo", "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: normal;
    text-align: center;
    cursor: pointer;
    box-sizing: border-box;
}

.legacy-panel .login-box-form__button--logout {
    width: 100%;
    background: #666;
    border-color: #666;
}

.legacy-panel .login-box-form__button:hover,
.legacy-panel .login-box-form__button:focus {
    background: #5a4740;
    border-color: #1f1714;
    color: #fff;
    outline: 2px solid rgba(31, 23, 20, 0.28);
    outline-offset: 2px;
}

.legacy-panel .login-box-form__button--logout:hover,
.legacy-panel .login-box-form__button--logout:focus {
    background: #000;
    border-color: #000;
}

.login-box-form__links {
    display: flex;
    justify-content: center;
    gap: 6px;
    color: #8a94a6;
    font-size: 12px;
    white-space: nowrap;
}

.login-box-user {
    display: grid;
    gap: 8px;
    margin: 0;
    font-family: "NanumGothic", "NanumMyeongjo", "Noto Sans KR", "Malgun Gothic", sans-serif;
}

.legacy-panel .login-box-user__name {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #111;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.45;
}

.legacy-panel .login-box-user__meta {
    color: #333;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.45;
}

.login-box-user__action {
    margin-top: 2px;
}

.login-box-user__menus {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.legacy-panel .login-box-user__menu {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 3px 0;
    color: #333;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
}

.legacy-panel .login-box-user__menu:hover,
.legacy-panel .login-box-user__menu:focus {
    color: #2457a6;
    text-decoration: none;
}

.login-box-user__icon {
    flex: 0 0 auto;
    max-width: none;
    width: auto;
    height: 16px;
    vertical-align: middle;
}

.login-box-user__icon--profile {
    height: 15px;
}

.jav-content-box {
    width: 800px;
    max-width: 100%;
    padding: 16px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #d9dee7;
    border-radius: 8px;
}

.jav-actor-toolbar-box {
    width: 800px;
    max-width: 100%;
    height: 64px;
    margin-bottom: 12px;
    padding: 14px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #d9dee7;
    border-radius: 8px;
}

.jav-actor-toolbar {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: center;
    gap: 10px;
    height: 100%;
}

.jav-actor-toolbar__count {
    text-align: left;
}

.jav-actor-toolbar__filters {
    text-align: center;
    white-space: nowrap;
}

.jav-actor-toolbar__search {
    display: flex;
    justify-content: flex-end;
}

.jav-actor-toolbar-search {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
    margin: 0;
}

.jav-actor-toolbar-search__options {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
}

.jav-actor-toolbar-search__options img {
    display: block;
}

.jav-actor-list-search-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 100px;
    height: 26px;
    vertical-align: middle;
}

.jav-actor-toolbar-score {
    color: gray;
    font-family: "Arial Black", Arial, sans-serif;
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
}

.jav-actor-toolbar-score__count {
    color: #7a1f3d;
    font-family: "Arial Black", Arial, sans-serif;
    font-size: 16pt;
    font-weight: 900;
}

.jav-actor-toolbar-score.is-grade-a {
    color: red;
}

.jav-actor-toolbar-score.is-grade-b {
    color: orange;
}

.jav-actor-toolbar-score.is-grade-c {
    color: green;
}

.jav-actor-toolbar-score.is-grade-d {
    color: blue;
}

.jav-actor-toolbar-score.is-score {
    color: skyblue;
}

.jav-actor-list-search-input {
    width: 100%;
    height: 26px;
    padding: 3px 28px 3px 8px;
    border: 1px solid #d8dee7;
    border-radius: 6px;
    box-sizing: border-box;
    outline: none;
}

.jav-actor-list-search-input:focus {
    border-color: #7a8aa0;
}

.jav-actor-list-search-clear {
    position: absolute;
    top: 50%;
    right: 7px;
    z-index: 2;
    display: none;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #d1d5db;
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 16px;
    text-decoration: none;
    cursor: pointer;
    pointer-events: auto;
    transform: translateY(-50%);
}

.jav-actor-list-search-clear.is-visible {
    display: inline-flex;
}

.jav-actor-list-search-wrap .jav-actor-list-search-clear,
.jav-actor-list-search-wrap .jav-actor-list-search-clear:link,
.jav-actor-list-search-wrap .jav-actor-list-search-clear:visited,
.jav-actor-list-search-wrap .jav-actor-list-search-clear:active {
    color: #fff;
}

.jav-actor-list-search-clear:hover,
.jav-actor-list-search-clear:focus-visible {
    background: #9ca3af;
    color: #000;
    outline: none;
}

.jav-actor-list-search-wrap .jav-actor-list-search-clear:hover,
.jav-actor-list-search-wrap .jav-actor-list-search-clear:focus-visible {
    color: #000;
}

.jav-video-toolbar-box {
    width: 800px;
    max-width: 100%;
    margin-bottom: 12px;
    padding: 10px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #d9dee7;
    border-radius: 8px;
}

.jav-video-search-box {
    height: 64px;
    padding: 14px;
}

.jav-video-search-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    height: 100%;
}

.jav-video-total {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.jav-video-total-text {
    color: gray;
    font-family: "Arial Black", Arial, sans-serif;
    font-size: 14pt;
    line-height: 1;
    white-space: nowrap;
}

.jav-video-total-text span {
    color: #7a1f3d;
    font-family: "Arial Black", Arial, sans-serif;
    font-size: 16pt;
    font-weight: 900;
}

.jav-video-search-form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    margin: 0;
    min-width: 0;
}

.jav-video-search-toggles {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
}

.jav-video-search-toggles img,
.jav-video-search-form input[type="image"] {
    display: block;
}

.jav-video-search-form .search {
    width: 150px;
    min-width: 0;
}

.jav-video-filter-box {
    padding: 10px 14px;
}

.jav-video-filter-groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    gap: 15px;
}

.jav-video-filter-group {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.jav-video-filter-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 24px;
    padding: 0 8px;
    border: 1px solid #333333;
    border-radius: 4px;
    background: #333333;
    color: #ffffff;
    font-size: 10pt;
    font-weight: 700;
    line-height: 24px;
    box-sizing: border-box;
}

.jav-video-filter-label-vtt {
    border-color: #1f4f7a;
    background: #1f4f7a;
}

.jav-video-filter-label-sort {
    border-color: #14532d;
    background: #14532d;
}

.jav-video-filter-label-uncensored {
    border-color: #7a1f3d;
    background: #7a1f3d;
}

.jav-video-filter-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 24px;
    padding: 0 8px;
    border: 1px solid #d5d5d5;
    border-radius: 4px;
    background: #eeeeee;
    color: #555555;
    font-size: 10pt;
    font-weight: 700;
    line-height: 24px;
    text-decoration: none;
    box-sizing: border-box;
}

.jav-video-filter-chip.is-active {
    border-color: #444444;
    background: #444444;
    color: #ffffff !important;
}

.jav-video-filter-chip:hover,
.jav-video-filter-chip:focus {
    border-color: #777777;
    background: #dddddd;
    color: #222222;
    text-decoration: none;
}

.jav-video-filter-chip.is-active:hover,
.jav-video-filter-chip.is-active:focus {
    border-color: #222222;
    background: #222222;
    color: #ffffff !important;
}

.jav-actor-total {
    display: inline-block;
    margin-right: 8px;
    color: gray;
    font-family: "Arial Black", Arial, sans-serif;
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
    vertical-align: baseline;
}

.jav-content-box table {
    max-width: 100%;
}

.jav-empty-list {
    min-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #f00;
    font-weight: 700;
    text-align: center;
}

.jav-post-icon-form {
    display: inline;
    margin: 0;
    padding: 0;
}

.jav-post-icon-button {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    font: inherit;
    line-height: inherit;
    vertical-align: baseline;
}

.jav-content-box a:hover,
.jav-content-box a:focus,
.jav-actor-toolbar-box a:hover,
.jav-actor-toolbar-box a:focus,
.jav-video-toolbar-box a:hover,
.jav-video-toolbar-box a:focus,
.jav-actor-list-actions a:hover,
.jav-actor-list-actions a:focus,
.jav-video-list-actions a:hover,
.jav-video-list-actions a:focus,
.jav-actor-view-wrap a:hover,
.jav-actor-view-wrap a:focus,
.jav-actor-search-box a:hover,
.jav-actor-search-box a:focus,
.jav-video-write-wrap a:hover,
.jav-video-write-wrap a:focus {
    text-decoration: none;
}

.jav-actor-list-box {
    box-sizing: border-box;
    padding-right: 15px;
    padding-left: 15px;
}

.jav-video-list-box {
    box-sizing: border-box;
    padding-right: 15px;
    padding-left: 15px;
}

.jav-video-poster-cell {
    width: 246px;
    min-width: 246px;
    padding-top: 5px;
}

.jav-video-poster-img {
    display: block;
    width: 246px;
    max-width: none;
}

.jav-video-grid {
    display: grid;
    grid-template-columns: repeat(3, 246px);
    column-gap: 15px;
    justify-content: start;
    row-gap: 22px;
}

.jav-video-grid-item {
    width: 246px;
}

.jav-video-poster-link {
    display: block;
}

.jav-video-card-info {
    padding-top: 8px;
    color: #000;
    font-family: "NanumGothic", "Dotum", sans-serif;
    font-size: 12px;
    line-height: 1.55;
    text-align: left;
}

.jav-video-card-title {
    display: flex;
    align-items: center;
    gap: 4px;
    min-height: 24px;
    font-size: 14px;
}

.jav-video-card-title span {
    margin-left: auto;
    font-size: 12px;
}

.jav-video-edit-icon {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

.jav-video-card-row {
    min-height: 22px;
    overflow-wrap: anywhere;
}

.jav-video-card-comment {
    margin-top: 8px;
    padding: 8px 10px;
    border: 0;
    border-radius: 6px;
    background: #efefef;
    overflow-wrap: anywhere;
}

.jav-video-edit-layer {
    position: fixed;
    inset: 0;
    z-index: 10020;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 32px;
    box-sizing: border-box;
}

.jav-video-edit-layer.is-open {
    display: flex;
}

.jav-video-edit-layer__backdrop {
    position: fixed;
    inset: 0;
    border: 0;
    background-color: rgba(0, 0, 0, 0.80);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.jav-video-edit-layer__panel {
    position: relative;
    z-index: 1;
    width: min(800px, 100%);
    height: min(760px, calc(100vh - 56px));
    border: 1px solid #b8c0cc;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
    overflow: hidden;
}

.jav-video-edit-layer__close {
    position: absolute;
    top: 8px;
    right: 10px;
    z-index: 2;
    width: 28px;
    height: 28px;
    border: 1px solid #222;
    border-radius: 4px;
    background: #333;
    color: #fff;
    cursor: pointer;
    font-size: 16px;
    line-height: 24px;
}

.jav-video-edit-layer__frame {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 8px;
    background: #fff;
}

body.jav-layer-open {
    overflow: hidden;
}

.jav-video-list-actions,
.jav-list-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 800px;
    max-width: 100%;
    margin-top: 12px;
    padding: 12px 16px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #d9dee7;
    border-radius: 8px;
}

.jav-list-actions + .jav-content-box {
    margin-top: 12px;
}

.jav-actor-list-actions .jav-pagination {
    order: 1;
    gap: 5px;
    margin-left: 0;
    margin-right: auto;
    margin-bottom: 0;
    font-size: 10pt;
    line-height: 1.25;
    justify-content: flex-start;
}

.jav-actor-list-actions .jav-list-buttons {
    order: 2;
    margin-left: auto;
    text-align: right;
    justify-content: flex-end;
}

.jav-pagination {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.jav-pagination a,
.jav-pagination span {
    min-width: 40px;
    padding: 8px 12px;
    box-sizing: border-box;
    border: 1px solid #d8d8d8;
    border-radius: 8px;
    background: #fff;
    color: #222;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
}

.jav-pagination .active {
    background: #333;
    border-color: #333;
    color: #fff;
}

.jav-pagination .disabled {
    background: #f7f7f7;
    color: #aaa;
}

.jav-actor-list-actions .jav-pagination a,
.jav-actor-list-actions .jav-pagination span {
    min-width: 30px;
    padding: 5px 8px;
    border-radius: 4px;
    font-size: 10pt;
    line-height: 1.25;
}

.jav-video-list-buttons,
.jav-list-buttons {
    display: flex;
    align-items: center;
    gap: 8px;
}

.jav-video-list-buttons a,
.jav-list-buttons a {
    min-width: 40px;
    padding: 8px 12px;
    box-sizing: border-box;
    border: 1px solid #333;
    border-radius: 8px;
    background: #333;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
}

.jav-actor-list-actions .jav-list-buttons a {
    min-width: 40px;
    padding: 5px 8px;
    border-radius: 4px;
    font-size: 10pt;
    line-height: 1.25;
}

.board-list-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    min-width: 40px;
    padding: 8px 12px;
    box-sizing: border-box;
    border: 1px solid #333;
    border-radius: 8px;
    background: #333;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    font-family: inherit;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

button.board-list-action-btn {
    height: auto;
    white-space: nowrap;
}

button.board-list-action-btn::-moz-focus-inner {
    border: 0;
    padding: 0;
}

.board-list-action-btn:hover,
.board-list-action-btn:focus {
    background: #111;
    border-color: #111;
    color: #fff;
    text-decoration: none;
}

.jav-video-list-buttons a:hover,
.jav-video-list-buttons a:focus,
.jav-list-buttons a:hover,
.jav-list-buttons a:focus {
    background: #111;
    border-color: #111;
    color: #fff;
    text-decoration: none;
}

.jav-actor-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 15px;
    row-gap: 20px;
}

.jav-actor-grid-item {
    width: 100%;
    text-align: center;
}

.jav-actor-card {
    width: 100%;
    text-align: center;
}

.jav-actor-card img {
    max-width: 100%;
    height: auto;
}

.jav-actor-card__photo {
    display: block;
}

.jav-actor-card__head {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) 20px;
    align-items: center;
    min-height: 25px;
}

.jav-actor-card__grade,
.jav-actor-card__name {
    text-align: left;
}

.jav-actor-card__external {
    text-align: right;
}

.jav-actor-card__meta {
    min-height: 25px;
    text-align: center;
}

.jav-actor-name {
    display: block;
    overflow: hidden;
    font-size: 11pt;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.jav-actor-view-wrap {
    width: 800px;
    max-width: 100%;
    box-sizing: border-box;
}

.jav-actor-view-title-box,
.jav-actor-view-panel {
    width: 800px;
    max-width: 100%;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #d9dee7;
    border-radius: 8px;
}

.jav-actor-view-title-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 44px;
    margin-bottom: 12px;
    padding: 11px 16px;
    color: #333;
    font-size: 15pt;
}

.jav-actor-view-title-text {
    font-size: 13pt !important;
    font-weight: 700 !important;
    text-align: left;
}

.jav-actor-view-title-meta {
    text-align: right;
}

.jav-actor-view-avdbs-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 92px;
    height: 26px;
    padding: 0 10px;
    border: 1px solid #1f4f7a;
    border-radius: 4px;
    background: #1f4f7a;
    color: #fff !important;
    font-size: 10pt;
    font-weight: 700;
    line-height: 26px;
    text-decoration: none;
    box-sizing: border-box;
}

.jav-actor-view-avdbs-badge:hover,
.jav-actor-view-avdbs-badge:focus {
    color: #fff;
    text-decoration: none;
}

.jav-actor-view-name-avdbs-badge {
    margin-right: 8px;
    vertical-align: middle;
}

.jav-actor-view-name-text {
    vertical-align: middle;
}

.jav-actor-view-panel {
    margin-top: 12px;
    padding: 14px;
}

.jav-actor-view-info-panel {
    display: block;
}

.jav-actor-view-result-grid {
    display: grid;
    grid-template-columns: 310px minmax(0, 1fr);
    gap: 0;
}

.jav-actor-view-field {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr) 90px minmax(0, 1fr);
    min-height: 39px;
    border-bottom: 1px solid #e5e7eb;
}

.jav-actor-view-fields .jav-actor-view-field:first-child {
    border-top: 1px solid #e5e7eb;
}

.jav-actor-view-label,
.jav-actor-view-value,
.jav-actor-view-field > div {
    padding: 9px 10px;
    color: #333;
    line-height: 20px;
    box-sizing: border-box;
}

.jav-actor-view-label {
    background: #f6f7f9;
    font-weight: 700;
    text-align: center;
}

.jav-actor-view-value.is-wide {
    grid-column: span 3;
}

.jav-actor-view-value.is-center {
    text-align: center;
}

.jav-actor-view-result {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
    font-size: 10pt;
}

.jav-actor-view-result th,
.jav-actor-view-result td {
    padding: 9px 10px;
    border-bottom: 1px solid #e5e7eb;
    color: #333;
    line-height: 20px;
    text-align: left;
    vertical-align: middle;
}

.jav-actor-view-result th {
    width: 90px;
    background: #f6f7f9;
    font-weight: 700;
    text-align: center;
}

.jav-actor-view-result th + td {
    width: auto;
}

.jav-actor-view-photo-cell {
    width: 310px;
    padding: 0 !important;
    background: #ffffff;
    text-align: center;
    vertical-align: top;
    white-space: nowrap;
}

.jav-actor-view-photo {
    display: inline-block;
    margin: 0;
    background: #ffffff;
    line-height: 0;
}

.jav-actor-view-result .jav-actor-info-center {
    text-align: center;
}

.jav-actor-write-result .jav-actor-write-input {
    width: 100%;
    height: 28px;
    padding: 3px 7px;
    border: 1px solid #bfc7d1;
    border-radius: 4px;
    box-sizing: border-box;
    color: #333333;
    font-size: 10pt;
}

.jav-actor-write-result .jav-actor-write-input-center {
    text-align: center;
}

.jav-actor-write-result .jav-actor-write-file {
    width: 100%;
    box-sizing: border-box;
    color: #333333;
    font-size: 10pt;
}

.jav-actor-write-info-table th {
    width: 80px;
}

.jav-actor-write-info-table.jav-actor-view-result-grid .jav-actor-view-field {
    grid-template-columns: 80px minmax(0, 1fr) 80px minmax(0, 1fr);
}

.jav-actor-search-view-result th {
    width: 80px;
}

.jav-actor-write-info-table .jav-actor-view-score-badge {
    min-width: 75px;
    width: 75px;
}

.jav-actor-search-view-result .jav-actor-view-score-badge {
    min-width: 75px;
    width: 75px;
}

.jav-actor-search-view-result .jav-actor-search-rank-text {
    font-size: 13pt;
}

.jav-actor-search-view-result .jav-actor-search-rank-text [data-score-rank] {
    font-size: 13pt;
}

.jav-actor-search-view-result .jav-actor-view-score-detail-row .jav-actor-search-rank-text,
.jav-actor-search-view-result .jav-actor-view-score-detail-row .jav-actor-search-rank-text [data-score-rank] {
    font-size: 10pt;
}

.jav-actor-search-view-result .jav-actor-view-score-summary-row td:nth-child(2) {
    text-align: left;
}

.jav-actor-search-view-result.jav-actor-view-result-grid .jav-actor-view-score-summary-row > div:nth-child(2) {
    text-align: left;
}

.jav-actor-search-view-result .jav-actor-view-score-detail-row td:nth-child(2) .jav-actor-score-input {
    text-align: left;
}

.jav-actor-write-extra-table th {
    width: 200px;
}

.jav-actor-write-extra-table {
    border-top: 1px solid #d9dee7;
    font-size: 10pt;
}

.jav-actor-write-extra-row {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr);
    min-height: 39px;
    border-bottom: 1px solid #e5e7eb;
}

.jav-actor-view-photo img {
    display: block;
    width: 300px !important;
    max-width: 100%;
    height: auto;
}

.jav-actor-view-score-row td {
    padding: 10px;
    background: #eef7ff;
}

.jav-actor-view-result-grid .jav-actor-view-score-row > div {
    padding: 10px;
    background: #eef7ff;
}

.jav-actor-view-score-line {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    width: 100%;
    color: #333;
    font-size: 10pt;
}

.jav-actor-view-score-summary-row .jav-actor-view-score-line {
    font-weight: 700;
}

.jav-actor-view-score-summary-row td {
    font-weight: 700;
    text-align: center;
}

.jav-actor-view-result-grid .jav-actor-view-score-summary-row > div {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    text-align: center;
}

.jav-actor-view-score-detail-row th {
    background: #f6f7f9;
    text-align: center;
}

.jav-actor-view-score-detail-row td {
    background: #ffffff;
}

.jav-actor-view-result-grid .jav-actor-view-score-detail-row .jav-actor-view-label {
    background: #f6f7f9;
    text-align: center;
}

.jav-actor-view-result-grid .jav-actor-view-score-detail-row .jav-actor-view-value {
    background: #ffffff;
}

.jav-actor-view-score-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 70px;
    width: 70px;
    height: 26px;
    padding: 0;
    border: 1px solid #1f4f7a;
    border-radius: 4px;
    background: #1f4f7a;
    color: #fff !important;
    font-size: 10pt;
    font-weight: 700;
    line-height: 26px;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    white-space: nowrap;
}

.jav-actor-view-score-line span {
    white-space: nowrap;
}

.jav-actor-view-result .jav-actor-score-input,
.jav-actor-view-result #javActorScoreTotal {
    width: 48px;
    height: 26px;
    padding: 3px 5px;
    border: 1px solid #bfc7d1;
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 10pt;
    text-align: right;
}

.jav-actor-view-result #javActorScoreTotal {
    background: #f6f7f9;
    color: #333;
}

.jav-actor-view-score-grade {
    margin-left: auto;
}

.jav-actor-view-score-level {
    color: #ff6600;
    font-weight: 700;
}

.jav-actor-view-level-cell {
    vertical-align: middle !important;
    line-height: 1;
}

.jav-actor-view-level-cell span {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.jav-actor-view-info-table,
.jav-actor-view-score-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 10pt;
}

.jav-actor-view-score-table {
    margin-top: 12px;
    border-top: 1px solid #e5e7eb;
}

.jav-actor-view-info-table th,
.jav-actor-view-info-table td,
.jav-actor-view-score-table th,
.jav-actor-view-score-table td {
    height: 30px;
    padding: 5px 8px;
    border-bottom: 1px solid #eef1f5;
    text-align: left;
    vertical-align: middle;
}

.jav-actor-view-info-table th,
.jav-actor-view-score-table th {
    width: 72px;
    color: #555;
    font-weight: 700;
}

.jav-actor-view-avdbs {
    width: 120px;
    text-align: center !important;
    vertical-align: middle !important;
}

.jav-actor-view-avdbs a {
    color: orange;
    font-family: "Arial Black", Arial, sans-serif;
    font-size: 28px;
    text-decoration: none;
}

.jav-actor-view-grade {
    width: 110px;
    text-align: center !important;
    vertical-align: middle !important;
}

.jav-actor-view-grade div {
    margin-top: 6px;
    color: #333;
    font-size: 10pt;
}

.jav-actor-view-memo {
    min-height: 44px;
    margin: 12px 0 0;
    padding: 10px 0 0 10px;
    border-top: 0;
    border-bottom: 0;
    line-height: 20px;
    font-size: 10pt;
}

.jav-actor-view-memo-divider {
    height: 10px;
    border-bottom: 1px solid #e5e7eb;
}

.jav-actor-write-memo {
    margin-top: 12px;
}

.jav-actor-write-section-title {
    margin-bottom: 8px;
    color: #333333;
    font-size: 10pt;
    font-weight: 700;
}

.jav-actor-write-editor {
    width: 100%;
    min-height: 260px;
    box-sizing: border-box;
}

.jav-actor-write-editor-table,
.jav-actor-write-editor-box {
    overflow: hidden;
    border: 1px solid #d9dee7;
    border-radius: 8px;
    background: #ffffff;
}

.jav-actor-write-editor-table td {
    padding: 0;
}

#L4D\ WebEditor_contents_div {
    overflow: hidden;
    border: 1px solid #d9dee7 !important;
    border-radius: 8px;
    box-sizing: border-box;
}

#L4D\ WebEditor_contents_divbtn {
    border-radius: 8px 8px 0 0;
}

#L4D\ WebEditor_contents_iframe,
#L4D\ WebEditor_contents_text {
    border-radius: 0 0 8px 8px;
}

.jav-actor-view-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    margin-top: 12px !important;
}

.jav-actor-view-actions a {
    display: inline-flex;
    align-items: center;
    line-height: 0;
}

.jav-actor-view-actions .jav-post-icon-form,
.jav-actor-view-actions .jav-post-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

.jav-actor-view-actions img,
.jav-actor-view-actions input[type="image"] {
    display: block;
    vertical-align: middle;
}

.jav-actor-write-menu-panel {
    min-height: 56px;
    padding: 11px 14px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.jav-actor-write-menu-panel .jav-actor-view-actions {
    min-height: 34px;
    margin-top: 0 !important;
}

.jav-actor-view-action-links {
    text-align: right;
    white-space: nowrap;
    font-size: 10pt;
}

.jav-actor-view-toggle-panel {
    padding: 0;
    overflow: hidden;
}

.jav-actor-view-toggle-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 42px;
    padding: 11px 14px;
    box-sizing: border-box;
    background: #ffffff;
    color: #333;
    font-size: 10pt;
    font-weight: 700;
    cursor: pointer;
}

.jav-actor-view-toggle-head a {
    color: #333;
    font-weight: 400;
}

.jav-actor-view-toggle-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.jav-actor-view-head-button {
    height: 26px;
    padding: 0 10px;
    border: 1px solid #333333;
    border-radius: 4px;
    background: #333333;
    color: #ffffff;
    font-size: 10pt;
    font-weight: 700;
    cursor: pointer;
}

.jav-actor-view-head-button:hover,
.jav-actor-view-head-button:focus {
    background: #111111;
    border-color: #111111;
}

.jav-actor-photo-actions .jav-actor-view-head-button {
    background: #f1f3f5;
    border-color: #d0d5dd;
    color: #333333;
}

.jav-actor-photo-actions .jav-actor-view-head-button:hover,
.jav-actor-photo-actions .jav-actor-view-head-button:focus {
    background: #555555;
    border-color: #444444;
    color: #ffffff;
}

.jav-actor-view-video-sort {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    margin-bottom: 10px;
}

.jav-actor-view-video-sort a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    height: 24px;
    padding: 0 8px;
    border: 1px solid #c7ccd3;
    border-radius: 4px;
    background: #ffffff;
    color: #333333;
    font-size: 10pt;
    font-weight: 700;
    line-height: 24px;
    text-decoration: none;
    box-sizing: border-box;
}

.jav-actor-view-video-sort a:hover,
.jav-actor-view-video-sort a:focus {
    border-color: #333333;
    background: #f3f4f6;
    color: #111111;
    text-decoration: none;
}

.jav-actor-view-video-sort a.is-active {
    border-color: #1f4f7a;
    background: #1f4f7a;
    color: #ffffff !important;
}

.jav-actor-view-video-sort a.is-active:hover,
.jav-actor-view-video-sort a.is-active:focus {
    border-color: #173a5a;
    background: #173a5a;
    color: #ffffff !important;
}

.jav-actor-view-toggle-body {
    display: none;
    width: 100%;
    box-sizing: border-box;
    padding: 14px;
    border-top: 1px solid #e5e7eb;
}

.jav-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 10px;
}

.jav-gallery-item {
    position: relative;
}

.jav-gallery-grid img {
    display: block;
    max-width: 100%;
    height: auto;
}

.jav-gallery-check {
    position: absolute;
    top: 6px;
    right: 6px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.9);
}

.jav-gallery-check input {
    margin: 0;
}

.jav-gallery-image-button {
    display: block;
    line-height: 0;
    cursor: zoom-in;
}

.jav-gallery-item-actions {
    padding-top: 4px;
    text-align: center;
    font-size: 10pt;
}

.jav-video-row {
    border-bottom: 1px solid #dddddd;
}

.jav-actor-view-empty {
    padding: 24px 0;
    color: #777;
    text-align: center;
    font-size: 10pt;
}

@media (max-width: 820px) {
    .jav-actor-view-result-grid {
        grid-template-columns: 1fr;
    }

    .jav-actor-view-photo-cell {
        width: auto;
    }

    .jav-actor-view-field {
        grid-template-columns: 84px minmax(0, 1fr);
    }

    .jav-actor-view-value.is-wide {
        grid-column: auto;
    }

    .jav-actor-view-actions,
    .jav-actor-view-toggle-head {
        align-items: flex-start;
        flex-direction: column;
    }
}

.jav-actor-search-box {
    width: 800px;
    max-width: 100%;
    box-sizing: border-box;
}

.jav-actor-search-panel {
    width: 800px;
    max-width: 100%;
    box-sizing: border-box;
    padding: 14px;
    border: 1px solid #cfd7e6;
    border-radius: 8px;
    background: #fff;
}

.jav-actor-search-panel + .jav-actor-search-panel {
    margin-top: 14px;
}

.jav-actor-search-form {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    flex-wrap: wrap;
}

.jav-actor-search-icon {
    display: block;
    width: auto;
    max-width: none;
    height: 24px;
}

.jav-actor-search-url-label {
    color: #333;
    font-size: 10pt;
    font-weight: 700;
    white-space: nowrap;
}

.jav-actor-search-form input {
    width: 140px;
    height: 30px;
    padding: 4px 8px;
    border: 1px solid #bfc7d1;
    border-radius: 4px;
    font-size: 10pt;
}

.jav-actor-search-form button {
    min-width: 48px;
    height: 30px;
    padding: 4px 10px;
    border: 1px solid #333;
    border-radius: 4px;
    background: #333;
    color: #fff;
    font-size: 10pt;
    cursor: pointer;
}

.jav-actor-search-form button:disabled {
    border-color: #c7ccd3;
    background: #e5e7eb;
    color: #8a94a6;
    cursor: not-allowed;
}

.jav-actor-search-loading {
    margin: 8px 0 0;
    color: #7c2d12;
    font-size: 10pt;
    font-weight: 800;
    animation: javActorSearchBlink 0.9s ease-in-out infinite;
}

@keyframes javActorSearchBlink {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0.25;
    }
}

.jav-actor-search-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.jav-actor-search-source {
    min-height: 24px;
    font-size: 10pt;
    word-break: break-all;
}

.jav-actor-search-source-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 20px;
    margin-right: 6px;
    padding: 0 7px;
    border: 1px solid #333;
    border-radius: 4px;
    background: #333;
    color: #fff;
    font-size: 9pt;
    font-weight: 700;
    line-height: 20px;
    box-sizing: border-box;
    vertical-align: middle;
}

.jav-actor-search-source-badge.is-cache {
    border-color: #6b1f35;
    background: #6b1f35;
}

.jav-actor-search-source-badge.is-avdbs {
    border-color: #1f4f7a;
    background: #1f4f7a;
}

.jav-actor-search-source a {
    font-size: 10pt;
}

.jav-actor-search-state {
    display: flex;
    justify-content: flex-end;
}

.jav-actor-search-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 74px;
    height: 28px;
    padding: 0 10px;
    border: 1px solid #444;
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 10pt;
    font-weight: 700;
}

.jav-actor-search-badge.is-registered {
    background: #fff;
    color: #333;
}

.jav-actor-search-badge.is-available {
    border-color: #6b1f35;
    background: #6b1f35;
    color: #fff;
}

.jav-actor-search-message {
    padding: 12px;
    border: 1px solid #eadfce;
    border-radius: 4px;
    background: #fff8ed;
    color: #7c2d12;
    font-size: 10pt;
}

.jav-actor-search-cache-confirm {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    padding: 10px 12px;
    border: 1px solid #cfd7e6;
    border-radius: 6px;
    background: #f8fafc;
    color: #333;
    font-size: 10pt;
}

.jav-actor-search-cache-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.jav-actor-search-cache-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    height: 28px;
    padding: 0 10px;
    border: 1px solid #bfc7d1;
    border-radius: 4px;
    background: #fff;
    color: #333;
    font-size: 10pt;
    text-decoration: none;
    box-sizing: border-box;
}

.jav-actor-search-cache-actions a.is-primary {
    border-color: #333;
    background: #333;
    color: #fff;
}

.jav-actor-search-result {
    border-top: 1px solid #d9dee7;
    font-size: 10pt;
    table-layout: auto;
}

.jav-actor-search-result th,
.jav-actor-search-result td {
    padding: 9px 10px;
    border-bottom: 1px solid #e5e7eb;
    text-align: left;
    vertical-align: top;
}

.jav-actor-search-result .jav-actor-search-photo-cell {
    width: 310px;
    padding: 0;
    background: #fff;
    text-align: left;
    vertical-align: top;
    white-space: nowrap;
}

.jav-actor-search-photo {
    display: inline-block;
    margin: 0;
    border: 1px solid #e5e7eb;
    background: #f6f7f9;
    line-height: 0;
}

.jav-actor-search-photo img {
    display: block;
    max-width: 300px;
    max-height: none;
    width: 300px;
    height: auto;
}

.jav-actor-search-photo:empty {
    width: 168px;
    min-height: 224px;
}

.jav-actor-search-photo-button {
    display: block;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
    line-height: 0;
}

.jav-actor-image-layer[hidden] {
    display: none;
}

.jav-actor-image-layer {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: block;
    overflow: auto;
}

.jav-actor-image-layer__backdrop {
    position: fixed;
    inset: 0;
    padding: 0;
    border: 0;
    background-color: rgba(0, 0, 0, 0.80);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    cursor: zoom-out;
}

.jav-actor-image-layer__body {
    position: relative;
    z-index: 1;
    width: max-content;
    margin: 30px auto;
}

.jav-actor-image-layer__body img {
    display: block;
    width: auto;
    height: auto;
    max-width: none;
    max-height: none;
}

body.jav-actor-image-layer-open {
    overflow: hidden;
}

.jav-actor-video-upload-layer[hidden] {
    display: none;
}

.jav-actor-video-upload-layer {
    position: fixed;
    inset: 0;
    z-index: 10010;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
    box-sizing: border-box;
}

.jav-actor-video-upload-layer__backdrop {
    position: fixed;
    inset: 0;
    padding: 0;
    border: 0;
    background-color: rgba(0, 0, 0, 0.80);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.jav-actor-video-upload-layer__body {
    position: relative;
    z-index: 1;
    width: min(800px, calc(100vw - 56px));
    height: min(760px, calc(100vh - 56px));
    border: 1px solid #b8c0cc;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.28);
    overflow: hidden;
}

.jav-actor-video-upload-layer__close {
    position: absolute;
    top: 28px;
    right: 18px;
    z-index: 2;
    width: 32px;
    height: 32px;
    border: 1px solid #222;
    border-radius: 4px;
    background: #fff;
    color: #222;
    cursor: pointer;
    font-size: 14px;
    line-height: 28px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

.jav-actor-video-upload-layer__frame {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #fff;
}

body.jav-actor-video-upload-layer-open {
    overflow: hidden;
}

.jav-actor-search-result th {
    width: 130px;
    background: #f6f7f9;
    color: #333;
    font-weight: 700;
    text-align: center;
}

.jav-actor-search-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}

.jav-actor-search-gallery-grid:empty {
    min-height: 80px;
}

.jav-actor-search-gallery-item {
    position: relative;
}

.jav-actor-search-gallery-check {
    position: absolute;
    top: 6px;
    right: 6px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.9);
}

.jav-actor-search-gallery-check input {
    margin: 0;
}

.jav-actor-search-gallery-check.is-disabled {
    background: rgba(238, 242, 247, 0.92);
    cursor: not-allowed;
}

.jav-actor-search-gallery-check.is-disabled input {
    cursor: not-allowed;
}

.jav-actor-search-gallery-button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    padding: 0;
    border: 1px solid #e5e7eb;
    background: #f6f7f9;
    cursor: zoom-in;
    overflow: hidden;
}

.jav-actor-search-gallery-button img {
    display: block;
    width: 100%;
    height: auto;
}

.jav-actor-search-score-grid {
    display: grid;
    grid-template-columns: 82px repeat(5, 1fr);
    align-items: center;
    gap: 8px;
    font-size: 10pt;
}

.jav-actor-search-score-title {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    padding: 0 8px;
    border: 1px solid #d9dee7;
    border-radius: 4px;
    background: #fff;
    box-sizing: border-box;
    color: #333;
    font-weight: 700;
    white-space: nowrap;
}

.jav-actor-search-score-grid label {
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.jav-actor-search-score-grid label::after {
    content: "점";
}

.jav-actor-search-score-grid input {
    width: 42px;
    height: 28px;
    padding: 3px 5px;
    border: 1px solid #bfc7d1;
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 10pt;
    text-align: right;
}

.jav-actor-search-score-grid input[readonly] {
    background: #f6f7f9;
    color: #333;
}

.jav-actor-search-action-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.jav-actor-search-copy-options {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 10pt;
}

.jav-actor-search-copy-options label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}

.jav-actor-search-save-button {
    min-width: 112px;
    height: 32px;
    padding: 0 14px;
    border: 1px solid #333;
    border-radius: 4px;
    background: #333;
    color: #fff;
    font-size: 10pt;
    font-weight: 700;
    cursor: pointer;
}

.jav-actor-update-layer[hidden] {
    display: none;
}

.jav-actor-update-layer {
    position: fixed;
    inset: 0;
    z-index: 10020;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px;
    box-sizing: border-box;
}

.jav-actor-update-layer__backdrop {
    position: fixed;
    inset: 0;
    border: 0;
    background-color: rgba(0, 0, 0, 0.80);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.jav-actor-update-layer__body {
    position: relative;
    z-index: 1;
    width: min(920px, 100%);
    max-height: calc(100vh - 64px);
    overflow: auto;
    padding: 18px;
    border: 1px solid #b8c0cc;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
}

.jav-actor-update-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 10pt;
}

.jav-actor-update-table th,
.jav-actor-update-table td {
    padding: 8px 9px;
    border: 1px solid #d8dde6;
    text-align: center;
    vertical-align: middle;
    word-break: break-all;
}

.jav-actor-update-table thead th {
    background: #eef2f6;
    color: #222;
    text-align: center;
}

.jav-actor-update-table tbody th {
    background: #f7f8fa;
}

.jav-actor-update-table th:nth-child(1),
.jav-actor-update-table td:nth-child(1) {
    width: 20%;
}

.jav-actor-update-table th:nth-child(2),
.jav-actor-update-table td:nth-child(2),
.jav-actor-update-table th:nth-child(3),
.jav-actor-update-table td:nth-child(3) {
    width: 30%;
}

.jav-actor-update-table th:nth-child(4),
.jav-actor-update-table td:nth-child(4) {
    width: 20%;
}

.jav-actor-update-table tr.is-duplicate td {
    color: #9a3412;
    background: #fff7ed;
}

.jav-actor-update-empty,
.jav-actor-update-complete,
.jav-actor-update-note {
    margin: 0 0 14px;
    font-size: 10pt;
    line-height: 1.6;
}

.jav-actor-update-note {
    margin: 0 auto 0 0;
    font-size: 11pt;
    white-space: nowrap;
}

.jav-actor-update-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 14px;
}

.jav-actor-update-actions button {
    min-width: 96px;
    height: 32px;
    border: 1px solid #333;
    border-radius: 4px;
    background: #fff;
    color: #222;
    font-weight: 700;
    cursor: pointer;
}

.jav-actor-update-actions .jav-actor-update-execute {
    background: #333;
    color: #fff;
}

body.jav-actor-update-layer-open {
    overflow: hidden;
}

.hero-slider {
    position: relative;
    width: 100%;
    margin-bottom: 20px;
    overflow: hidden;
    background: transparent;
}

.hero-slider img {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid #cfd7e6;
    border-radius: 8px;
    background: #fff;
}

.hero-slider__quote {
    position: absolute;
    left: 50%;
    top: 50%;
    width: calc(100% - 80px);
    transform: translate(-50%, -50%);
    color: #fff;
    font-family: "NanumMyeongjo", "NanumGothic", "Noto Sans KR", "Malgun Gothic", serif;
    font-size: 20pt;
    font-weight: 500;
    line-height: 1.45;
    text-align: center;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.85), 0 0 10px rgba(0, 0, 0, 0.65);
    pointer-events: none;
    box-sizing: border-box;
}

.feeling-strip {
    margin-bottom: 16px;
    padding: 12px;
    overflow: hidden;
    border: 1px solid #cfd7e6;
    border-radius: 8px;
    background: #fff;
}

.feeling-strip__track {
    display: flex;
    width: max-content;
    gap: 12px;
    animation: feeling-scroll 28s linear infinite;
}

.feeling-strip:hover .feeling-strip__track {
    animation-play-state: paused;
}

.feeling-card {
    display: block;
    width: 136px;
    color: #243041;
    font-size: 12px;
    font-weight: 700;
}

.feeling-card:hover,
.feeling-card:focus {
    text-decoration: none;
}

.feeling-card img {
    display: block;
    width: 136px;
    height: 92px;
    object-fit: cover;
    border: 1px solid #d9dee7;
    border-radius: 6px;
    background: #eef2f7;
}

.feeling-card span {
    display: block;
    margin-top: 6px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

@keyframes feeling-scroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

.home-board-tabs {
    padding: 14px;
    border: 1px solid #cfd7e6;
    border-radius: 8px;
    background: #fff;
}

.home-board-tabs__icons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.home-board-tabs__button {
    width: 72px;
    height: 23px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.home-board-tabs__button img {
    display: block;
    width: 72px;
    height: 23px;
}

.home-board-tabs__panels {
    min-height: 190px;
    border-top: 1px solid #e4e9f2;
    padding-top: 12px;
}

.home-board-panel {
    display: none;
}

.home-board-panel.is-active {
    display: block;
}

.home-board-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
    color: #111827;
}

.home-board-panel__head a {
    color: #667085;
    font-size: 12px;
}

.home-board-panel ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.home-board-panel li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 76px;
    gap: 12px;
    padding: 6px 0;
    border-bottom: 1px solid #eef2f7;
}

.home-board-panel li:last-child {
    border-bottom: 0;
}

.home-board-panel li a {
    overflow: hidden;
    color: #25324a;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.home-board-panel time {
    color: #8a94a6;
    font-size: 12px;
    text-align: right;
}

.empty-message {
    margin: 0;
    padding: 24px 0;
    color: #8a94a6;
    text-align: center;
}

.error-page {
    width: min(640px, calc(100% - 32px));
    margin: 80px auto;
    padding: 32px;
    border: 1px solid #d9dee7;
    border-radius: 8px;
    background: #fff;
}

.admin-body {
    min-height: 100vh;
    margin: 0;
    background: #f5f2ee;
    color: #2f2926;
    font-family: "Noto Sans KR", "Pretendard", "Apple SD Gothic Neo", Arial, sans-serif;
}

.admin-body a {
    color: inherit;
}

.admin-login {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
    padding: 28px;
    border: 1px solid #eadfce;
    border-radius: 8px;
    background: #fff;
    box-sizing: border-box;
}

.admin-body > .admin-login {
    position: relative;
    top: 50vh;
    transform: translateY(-50%);
}

.admin-login h1 {
    margin: 0 0 22px;
    color: #2f2926;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.35;
}

.admin-login-error {
    margin-bottom: 16px;
    padding: 10px 12px;
    border-radius: 6px;
    background: #fdecea;
    color: #c0392b;
    font-size: 14px;
    font-weight: 800;
}

.admin-login-error p,
.admin-login-message {
    margin: 0;
}

.admin-login-message {
    color: #4b3d34;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
}

.admin-login-button {
    display: block;
    width: 100%;
    height: 46px;
    margin-top: 18px;
    padding: 12px 16px;
    border: 1px solid #2f2926;
    border-radius: 8px;
    background: #2f2926;
    color: #fff !important;
    font-size: 14px;
    font-weight: 900;
    line-height: 20px;
    text-align: center;
}

.admin-login-button:hover,
.admin-login-button:focus {
    background: #4b3d34;
    text-decoration: none;
}

.admin-shell {
    min-height: 100vh;
}

.admin-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 62px;
    padding: 0 24px;
    border-bottom: 1px solid #eadfce;
    background: #fff;
}

.admin-brand {
    color: #2f2926;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.3;
}

.admin-brand:hover,
.admin-brand:focus {
    text-decoration: none;
}

.admin-topnav {
    display: flex;
    align-items: center;
    gap: 8px;
}

.admin-topnav a {
    padding: 8px 10px;
    border-radius: 6px;
    color: #4b3d34;
    font-size: 13px;
    font-weight: 900;
}

.admin-topnav a:hover,
.admin-topnav a:focus {
    background: #f5f2ee;
    text-decoration: none;
}

.admin-layout {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    min-height: calc(100vh - 63px);
}

.admin-sidebar {
    padding: 20px 16px;
    border-right: 1px solid #eadfce;
    background: #fff;
}

.admin-menu-group + .admin-menu-group {
    margin-top: 16px;
}

.admin-menu-group h2 {
    margin: 0 0 8px;
    padding: 10px 12px;
    border: 1px solid #eadfce;
    border-radius: 8px;
    background: #f5f2ee;
    color: #2f2926;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.35;
}

.admin-menu-group ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.admin-menu-group a {
    display: block;
    padding: 9px 12px;
    border-radius: 8px;
    color: #4b3d34;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
}

.admin-menu-group a:hover,
.admin-menu-group a:focus,
.admin-menu-group a.is-active {
    background: #2f2926;
    color: #fff;
    text-decoration: none;
}

.admin-content {
    padding: 24px;
}

.admin-content-card {
    min-height: 240px;
    padding: 24px;
    border: 1px solid #eadfce;
    border-radius: 8px;
    background: #fff;
}

.admin-content-card h1 {
    margin: 0 0 12px;
    color: #2f2926;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.35;
}

.admin-content-card p {
    margin: 0;
    color: #4b3d34;
    font-size: 14px;
    font-weight: 700;
}

.site-footer {
    width: min(1024px, calc(100% - 32px));
    margin: 0 auto;
    padding: 18px 0 28px;
    color: #6b7280;
    text-align: right;
    border-top: 1px solid #d9dee7;
}

.letter-search-input-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 150px;
    height: 26px;
    box-sizing: border-box;
    vertical-align: middle;
}

.board-skin-search-input-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 150px;
    height: 26px;
    box-sizing: border-box;
    vertical-align: middle;
}

.board-list-search-inner {
    vertical-align: middle;
}

.board-list-search-box form,
.board-list-search-box .board-list-search {
    margin: 0;
    padding: 0;
}

.board-list-search-box {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 26px;
    overflow: visible;
    line-height: normal;
    text-align: right;
}

.board-list-search-box form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    min-height: 26px;
    text-align: right;
}

.board-list-search-box .board-list-search {
    display: table;
    float: none;
    vertical-align: middle;
}

.board-list-search-box .note-search-list {
    position: static;
    visibility: visible;
    opacity: 1;
    margin-left: auto;
}

.board-list-search-box .note-search-shell {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    min-height: 26px;
    overflow: visible;
}

.board-list-search-box .note-search-shell form {
    display: block;
    width: auto;
    min-height: 26px;
    margin: 0;
    padding: 0;
}

.board-list-search-box .note-search-shell .note-search-list {
    display: table;
    float: none;
    margin: 0;
}

.board-list-search-wrap,
.board-list-search-inner td {
    vertical-align: middle !important;
}

.board-list-search-options,
.board-list-search-keyword,
.board-list-search-submit {
    vertical-align: middle !important;
    white-space: nowrap;
}

.board-list-search-options a,
.board-list-search-options img,
.board-list-search-submit input[type="image"] {
    vertical-align: middle;
}

.letter-search-input-wrap .letter-search-input {
    display: block;
    width: 100%;
    height: 26px;
    min-width: 0;
    padding: 3px 28px 3px 8px;
    border: 1px solid #d8dee7;
    border-radius: 6px;
    background: #fff;
    box-sizing: border-box;
    color: #111827;
    font-size: 12px;
    line-height: 20px;
    outline: none;
}

.board-skin-search-input-wrap .board-skin-search-input {
    display: block;
    width: 100%;
    height: 26px;
    min-width: 0;
    padding: 3px 28px 3px 8px;
    border: 1px solid #d8dee7;
    border-radius: 6px;
    background: #fff;
    box-sizing: border-box;
    color: #111827;
    font-size: 12px;
    line-height: 20px;
    outline: none;
}

.letter-search-input-wrap .letter-search-input:focus {
    border-color: #7a8aa0;
    box-shadow: none;
}

.board-skin-search-input-wrap .board-skin-search-input:focus {
    border-color: #7a8aa0;
    box-shadow: none;
}

.letter-search-clear {
    position: absolute;
    top: 50%;
    right: 7px;
    z-index: 2;
    display: none;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #d1d5db;
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 16px;
    text-decoration: none;
    cursor: pointer;
    pointer-events: auto;
    transform: translateY(-50%);
}

.board-skin-search-clear {
    position: absolute;
    top: 50%;
    right: 7px;
    z-index: 2;
    display: none;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #d1d5db;
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 16px;
    text-decoration: none;
    cursor: pointer;
    pointer-events: auto;
    transform: translateY(-50%);
}

.letter-search-clear.is-visible {
    display: inline-flex;
}

.board-skin-search-clear.is-visible {
    display: inline-flex;
}

.letter-search-input-wrap .letter-search-clear,
.letter-search-input-wrap .letter-search-clear:link,
.letter-search-input-wrap .letter-search-clear:visited,
.letter-search-input-wrap .letter-search-clear:active {
    color: #fff;
}

.board-skin-search-input-wrap .board-skin-search-clear,
.board-skin-search-input-wrap .board-skin-search-clear:link,
.board-skin-search-input-wrap .board-skin-search-clear:visited,
.board-skin-search-input-wrap .board-skin-search-clear:active {
    color: #fff;
}

.letter-search-clear:hover,
.letter-search-clear:focus-visible {
    background: #9ca3af;
    color: #000;
    outline: none;
}

.board-skin-search-clear:hover,
.board-skin-search-clear:focus-visible {
    background: #9ca3af;
    color: #000;
    outline: none;
}

.letter-search-input-wrap .letter-search-clear:hover,
.letter-search-input-wrap .letter-search-clear:focus-visible {
    color: #000;
}

.board-skin-search-input-wrap .board-skin-search-clear:hover,
.board-skin-search-input-wrap .board-skin-search-clear:focus-visible {
    color: #000;
}

@media (max-width: 860px) {
    .site-header__inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .site-nav {
        justify-content: flex-start;
    }

    .home-layout {
        grid-template-columns: 1fr;
    }

    .admin-layout {
        grid-template-columns: 1fr;
    }

    .admin-sidebar {
        border-right: 0;
        border-bottom: 1px solid #eadfce;
    }

    .home-sidebar {
        order: 1;
    }

    .home-content {
        order: 2;
    }
}

@media (max-width: 520px) {
    .site-main,
    .site-header__inner,
    .site-footer {
        width: min(100% - 20px, 1024px);
    }

    .site-logo img {
        height: 43px;
    }

    .site-nav a {
        flex: 1 1 calc(50% - 6px);
        text-align: center;
    }

    .legacy-panel,
    .content-section {
        padding: 10px;
    }

    .home-board-panel li {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .home-board-panel time {
        text-align: left;
    }
}

.cinema-layout {
    display: grid;
    grid-template-columns: 209px minmax(0, 800px);
    gap: 15px;
    width: 1024px;
    max-width: 100%;
    margin: 0 auto;
}

.cinema-content {
    min-width: 0;
}

.cinema-title,
.cinema-panel {
    border: 1px solid #eadfce;
    border-radius: 8px;
    background: #fff;
}

.cinema-title {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 20px 24px;
    margin-bottom: 12px;
}

.cinema-title h1 {
    margin: 3px 0 0;
    font-size: 28px;
    text-transform: lowercase;
}

.cinema-title__eyebrow {
    margin: 0;
    color: #ac8561;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 0.16em;
}

.cinema-tabs {
    display: flex;
    gap: 8px;
}

.cinema-actions {
    display: flex;
    gap: 8px;
}

.cinema-tabs a,
.cinema-back,
.cinema-search button {
    border: 1px solid #ddcbb6;
    border-radius: 4px;
    padding: 8px 12px;
    color: #674c37;
    background: #fff;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.cinema-tabs a.is-active {
    color: #fff;
    border-color: #92704e;
    background: #92704e;
}

.cinema-tabs a:hover,
.cinema-search button:hover {
    color: #fff;
    border-color: #7c5c3d;
    background: #7c5c3d;
    box-shadow: 0 3px 8px rgba(103, 76, 55, 0.18);
    transform: translateY(-1px);
}

.cinema-tabs a:active,
.cinema-search button:active {
    box-shadow: none;
    transform: translateY(0);
}

.cinema-panel {
    padding: 18px;
}

.cinema-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
}

.cinema-search {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
}

.cinema-search label {
    color: #666;
    font-size: 12pt;
    font-weight: 700;
}

.cinema-search input {
    width: 260px;
    max-width: 100%;
    border: 1px solid #ddcbb6;
    border-radius: 4px;
    padding: 9px 10px;
}

.cinema-empty {
    padding: 52px 20px;
    color: #73583d;
    text-align: center;
    background: #fbf6ee;
    border-radius: 6px;
}

.cinema-empty p {
    margin: 12px auto 0;
    max-width: 540px;
    line-height: 1.65;
}

.cinema-count {
    color: #666;
    font-size: 12pt;
    font-weight: 700;
}

.cinema-count span {
    color: #000;
    font-size: 14pt;
    font-weight: 700;
}

.cinema-list-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    max-width: 100%;
    min-height: 62px;
    margin: 20px 0 0;
    padding: 12px 16px;
    box-sizing: border-box;
    border: 1px solid #d9dee7;
    border-radius: 8px;
    background: #fff;
}

.cinema-list-pagination {
    order: 1;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    margin-left: 0;
    margin-right: auto;
    margin-bottom: 0;
    font-size: 10pt;
    line-height: 1.25;
    justify-content: flex-start;
}

.cinema-list-pagination a,
.cinema-list-pagination span {
    min-width: 30px;
    padding: 5px 8px;
    box-sizing: border-box;
    border: 1px solid #d8d8d8;
    border-radius: 4px;
    background: #fff;
    color: #333;
    font-size: 10pt;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
}

.cinema-list-pagination .active {
    background: #333;
    border-color: #333;
    color: #fff;
}

.cinema-list-buttons {
    order: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-left: auto;
    text-align: right;
}

.cinema-list-buttons a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    min-width: 40px;
    padding: 8px 12px;
    box-sizing: border-box;
    border: 1px solid #333;
    border-radius: 8px;
    background: #333;
    color: #fff;
    font-size: 10pt;
    font-weight: 700;
    line-height: 1.2;
    font-family: inherit;
    text-align: center;
    text-decoration: none;
}

.cinema-list-buttons a:hover,
.cinema-list-buttons a:focus {
    background: #111;
    border-color: #111;
    color: #fff;
    text-decoration: none;
}

.cinema-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.cinema-card {
    border: 1px solid #eee1cf;
    background: #fff;
}

.cinema-card__poster {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 250px;
    overflow: hidden;
    background: #eee;
}

.cinema-card__poster img {
    display: block;
    width: auto;
    height: auto;
    max-width: min(100%, 184px);
    max-height: 248px;
    object-fit: contain;
}

.cinema-card__poster img.is-fit-width {
    width: var(--cinema-poster-fit-width, 184px);
    height: auto;
}

.cinema-card__poster img.is-fit-height {
    width: auto;
    height: var(--cinema-poster-fit-height, 248px);
}

.cinema-detail__poster img {
    display: block;
    max-width: 100%;
    max-height: 100%;
}

.cinema-card__placeholder {
    color: #af9b86;
    font-size: 12px;
    letter-spacing: 0.08em;
}

.cinema-card__body {
    padding: 10px;
}

.cinema-card__body h2 {
    margin: 0 0 8px;
    font-size: 14px;
}

.cinema-card__body h2 a {
    color: #3e3227;
    text-decoration: none;
}

.cinema-card__body p {
    margin: 4px 0;
    color: #7d6b58;
    font-size: 12px;
}

.cinema-card__body strong {
    color: #c77526;
}

.cinema-pagination {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-top: 20px;
}

.cinema-pagination a {
    padding: 5px 9px;
    color: #664a32;
    text-decoration: none;
    border: 1px solid #e3d3bd;
}

.cinema-pagination a.is-active {
    color: #fff;
    background: #92704e;
}

.cinema-detail {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 22px;
}

.cinema-detail__poster {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 300px;
    background: #f2ede6;
}

.cinema-detail__info h2 {
    margin: 0 0 18px;
    font-size: 24px;
}

.cinema-detail__info dl {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 10px;
    margin: 0;
}

.cinema-detail__info dt {
    color: #80654a;
    font-weight: bold;
}

.cinema-detail__info dd {
    margin: 0;
}

.cinema-detail__contents {
    grid-column: 1 / -1;
    border-top: 1px solid #eee1cf;
    padding-top: 18px;
    line-height: 1.75;
}

.cinema-form {
    display: grid;
    gap: 14px;
}

.cinema-form label {
    display: grid;
    gap: 6px;
    color: #674c37;
    font-weight: bold;
}

.cinema-form input,
.cinema-form textarea {
    border: 1px solid #ddcbb6;
    border-radius: 4px;
    padding: 9px 10px;
    font: inherit;
}

.cinema-form__columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.cinema-form__buttons {
    display: flex;
    gap: 8px;
}

.cinema-form__buttons button,
.cinema-form__buttons a {
    border: 1px solid #92704e;
    border-radius: 4px;
    padding: 9px 20px;
    color: #fff;
    background: #92704e;
    text-decoration: none;
}

.cinema-form__buttons a {
    color: #674c37;
    background: #fff;
}

@media (max-width: 900px) {
    .cinema-layout,
    .cinema-detail {
        display: block;
    }

    .cinema-sidebar {
        margin-bottom: 12px;
    }

    .cinema-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cinema-detail__poster {
        margin-bottom: 18px;
    }
}
