:root { color-scheme: light; --blue: #125cc7; --navy: #153a70; --ink: #20334e; --muted: #72819a; --line: #dce5f0; --surface: #ffffff; --page: #eff5fb; }
* { box-sizing: border-box; }
html { min-height: 100%; overflow-x: hidden; overflow-y: auto; }
body { margin: 0; min-width: 980px; min-height: 100%; padding-bottom: 84px; overflow-x: hidden; overflow-y: auto; background: var(--page); color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif; font-size: 14px; }
button { font: inherit; color: inherit; }
.portal-mobile-menu-toggle, .portal-mobile-menu { display: none; }
.portal-mobile-break { display: none; }
.profile-directory-files { display: grid; }
.profile-directory-files button { display: grid; grid-template-columns: 30px minmax(0, 1fr) 18px; align-items: center; gap: 10px; min-height: 62px; padding: 0 25px; border: 0; border-bottom: 1px solid #e8eef5; background: #fff; color: #304b70; cursor: pointer; text-align: left; }
.profile-directory-files button:last-child { border-bottom: 0; }
.profile-directory-files.profile-directory-hidden button { opacity: .48; background: linear-gradient(90deg, rgba(238, 243, 250, .78), rgba(255, 255, 255, .46)); }
.profile-directory-files.profile-directory-hidden button:hover { opacity: .72; }
.profile-directory-files .profile-directory-back { min-height: 48px; background: #f7faff; color: #647b98; }
.profile-directory-files button:hover { background: #f4f8fd; }
.profile-directory-files span { color: #3775bf; font-size: 21px; }
.profile-directory-files strong { overflow: hidden; color: #30425f; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.profile-directory-files i { color: #2e6ebb; font-size: 20px; font-style: normal; }
.portal-app { min-height: 100vh; padding-bottom: 32px; background: linear-gradient(180deg, #fff 0, #f5f8fc 56%, #eef3f9 100%); }
.portal-header { position: sticky; z-index: 10; top: 0; display: flex; align-items: center; height: 74px; padding: 0 28px; background: rgba(255,255,255,.96); border-bottom: 1px solid #dce5ef; box-shadow: 0 2px 12px rgba(31,64,111,.05); backdrop-filter: blur(14px); }
.shiomi-brand { display: flex; align-items: center; flex: 0 0 390px; gap: 12px; padding: 0; border: 0; background: transparent; cursor: pointer; text-align: left; }.shiomi-brand strong { display: inline-block; padding-right: 11px; color: #202936; font-family: Georgia, "Times New Roman", serif; font-size: 29px; letter-spacing: .12em; font-weight: 500; }.shiomi-brand em { color: #293343; font-size: 17px; font-style: normal; font-weight: 600; letter-spacing: .1em; }.shiomi-mark { display: block; width: 66px; height: 54px; object-fit: contain; }
.portal-nav { display: flex; align-self: stretch; align-items: stretch; gap: 14px; white-space: nowrap; }.nav-item { position: relative; display: flex; align-items: center; gap: 6px; padding: 0 4px; border: 0; background: transparent; color: #395274; font-size: 13px; font-weight: 700; cursor: pointer; }.nav-item[hidden] { display: none !important; }.nav-item span { color: #294e80; font-size: 19px; line-height: 1; }.nav-item::after { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: transparent; content: ""; }.nav-item:hover, .nav-item.active { color: var(--blue); }.nav-item.active::after { background: var(--blue); }.nav-item.active span { color: var(--blue); }
.header-actions { position: relative; display: flex; align-items: center; gap: 12px; margin-left: auto; }.icon-button, .profile-button { position: relative; display: inline-flex; align-items: center; justify-content: center; border: 0; background: transparent; cursor: pointer; }.icon-button { width: 34px; height: 38px; color: #244777; font-size: 23px; }.icon-button b { position: absolute; top: 1px; right: -2px; display: grid; width: 17px; height: 17px; place-items: center; border: 2px solid #fff; border-radius: 50%; background: #155dca; color: #fff; font-size: 10px; }.profile-button { gap: 7px; color: #41536b; font-size: 12px; font-weight: 700; }.profile-button i { font-style: normal; color: #6c7c92; }.profile-avatar { position: relative; display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; background: linear-gradient(145deg, #edf2f8, #bcc9d8); color: #50617a; font-size: 13px; }.account-presence-dot { position: absolute; right: -1px; bottom: -1px; width: 11px; height: 11px; border: 2px solid #fff; border-radius: 50%; background: #2aa865; }.profile-account-label { display: grid; gap: 1px; text-align: left; }.profile-account-label small, .profile-presence { display: inline-flex; align-items: center; gap: 4px; color: #618077; font-size: 9px; font-weight: 700; line-height: 1.2; }.profile-account-label small i, .profile-presence i { width: 6px; height: 6px; border-radius: 50%; background: #2aa865; }.profile-large-avatar { position: relative; }.profile-presence { margin-top: 5px; }
.header-popover { position: absolute; z-index: 20; top: 49px; right: 0; width: 310px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: 0 18px 38px rgba(27,61,108,.18); }.header-popover[hidden] { display: none; }.header-popover button { display: block; width: 100%; padding: 12px 15px; border: 0; border-bottom: 1px solid #edf1f5; background: #fff; color: #43536a; cursor: pointer; text-align: left; font-size: 12px; line-height: 1.5; }.header-popover button:hover { background: #f4f8fe; }.popover-title { margin: 0; padding: 12px 15px; color: var(--navy); font-weight: 800; }.header-popover strong { display: inline-block; margin-right: 7px; color: #e33131; font-size: 10px; }.header-popover .popover-link { color: var(--blue); text-align: center; }.profile-popover { width: 190px; }.profile-popover button { font-weight: 600; }
.portal-main { width: min(100% - 44px, 1660px); margin: 17px auto 12px; }.hero-panel { position: relative; isolation: isolate; min-height: 270px; overflow: hidden; border-radius: 10px; background: #eaf5fd; box-shadow: 0 7px 20px rgba(41,83,138,.08); }.hero-slides { position: absolute; z-index: 0; inset: 0; }.hero-slides::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(238,248,255,.98) 0%, rgba(238,248,255,.94) 28%, rgba(238,248,255,.35) 57%, rgba(238,248,255,.04) 100%); content: ""; }.hero-slide { position: absolute; inset: 0; opacity: 0; background-position: center; background-size: cover; transition: opacity 1.15s ease-in-out; }.hero-slide.active { opacity: 1; }.hero-slide:nth-child(1) { background-image: url("../img/shiomi_portal_hero01.png"); }.hero-slide:nth-child(2) { background-image: url("../img/shiomi_portal_hero02.png"); }.hero-slide:nth-child(3) { background-image: url("../img/shiomi_portal_hero03.png"); }.hero-slide:nth-child(4) { background-image: url("../img/shiomi_portal_hero04.png"); }.hero-slide:nth-child(5) { background-image: url("../img/shiomi_portal_hero05.png"); }.hero-copy { position: relative; z-index: 1; padding: 40px 0 32px 50px; }.eyebrow { margin: 0 0 11px; color: #3d73b8; font-size: 10px; letter-spacing: .12em; font-weight: 800; }.hero-copy h1 { margin: 0 0 10px; color: #173b70; font-size: 38px; line-height: 1.15; letter-spacing: .13em; font-family: Georgia, "Yu Mincho", serif; font-weight: 500; }.hero-copy h2 { margin: 0 0 19px; color: #244573; font-size: 23px; font-weight: 600; letter-spacing: .08em; }.hero-copy > p:not(.eyebrow) { margin: 0 0 23px; color: #315278; font-size: 15px; letter-spacing: .035em; }.outline-cta { min-width: 202px; padding: 11px 14px 11px 18px; border: 1px solid #7ba9e1; border-radius: 4px; background: rgba(255,255,255,.78); color: #1d5ead; cursor: pointer; text-align: left; font-size: 12px; font-weight: 800; }.outline-cta:hover { background: #fff; box-shadow: 0 4px 14px rgba(45,105,183,.15); }.outline-cta span { float: right; font-size: 19px; line-height: 12px; }
.dashboard-grid { display: grid; grid-template-columns: 1.05fr 1.45fr; gap: 12px; margin-top: 13px; }.panel { min-width: 0; overflow: hidden; border: 1px solid #e0e8f1; border-radius: 9px; background: rgba(255,255,255,.96); box-shadow: 0 4px 14px rgba(25,61,108,.045); }.panel-heading { display: flex; align-items: center; justify-content: space-between; min-height: 51px; padding: 0 23px; }.panel-heading h2 { margin: 0; color: #244a7e; font-size: 16px; letter-spacing: .025em; }.panel-heading h2 span { margin-right: 9px; color: #1263cc; }.panel-heading button, .panel-bottom-link { padding: 0; border: 0; background: transparent; color: #1762c4; cursor: pointer; font-size: 11px; font-weight: 700; }.panel-heading button:hover, .panel-bottom-link:hover { text-decoration: underline; }
.notice-list { padding: 0 22px; }.notice-row { display: grid; grid-template-columns: 100px 78px minmax(0, 1fr); align-items: center; width: 100%; min-height: 40px; border: 0; border-top: 1px solid #e8edf4; background: transparent; cursor: pointer; text-align: left; }.notice-row:hover { background: #f5f9ff; }.notice-row time { color: #465267; font-size: 12px; }.notice-row span { overflow: hidden; color: #334154; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.tag { display: inline-grid; width: 52px; place-items: center; padding: 4px 3px; border-radius: 2px; color: #fff; font-size: 10px; font-style: normal; font-weight: 800; }.tag.red { background: linear-gradient(90deg, #f54a4a, #e8272c); }.tag.blue { background: #65aeda; }.tag.green { background: #19aa89; }.tag.amber { background: #eda916; }.panel-bottom-link { display: block; width: calc(100% - 44px); padding: 11px 0 8px; margin: 0 22px; border-top: 1px solid #e8edf4; text-align: right; }
.schedule-table { padding: 0 20px 11px; }.schedule-head, .schedule-row { display: grid; grid-template-columns: 1fr .9fr 1.45fr .75fr 1fr 1.25fr; align-items: center; gap: 8px; }.schedule-head { min-height: 35px; padding: 0 10px; border-radius: 4px; background: #f1f5fa; color: #3c4d66; font-size: 10px; font-weight: 800; }.schedule-row { width: 100%; min-height: 37px; padding: 0 10px; border: 0; border-bottom: 1px solid #edf1f5; background: transparent; color: #39475b; cursor: pointer; text-align: left; font-size: 11px; }.schedule-row:hover { background: #f5f9ff; }.schedule-row > span:last-child { display: flex; align-items: center; gap: 7px; }.schedule-row i { position: relative; width: 75px; height: 5px; overflow: hidden; border-radius: 999px; background: #dbe4ef; }.schedule-row i::after { display: block; width: var(--progress); height: 100%; border-radius: inherit; background: #1764ca; content: ""; }.schedule-row em { color: #51627a; font-style: normal; }
.urgent-panel { padding-bottom: 12px; }.urgent-panel .panel-heading h2 span { color: #e63333; }.urgent-banner { display: block; width: calc(100% - 44px); padding: 15px 17px; margin: 4px 22px 12px; border: 1px solid #ffe0e0; border-radius: 5px; background: #fff5f5; color: #ed3e3e; cursor: pointer; text-align: left; font-size: 12px; font-weight: 700; }.urgent-banner:disabled { border-color: #e6eaf0; background: #f7f9fc; color: #8190a2; cursor: default; }.urgent-detail { display: grid; grid-template-columns: 135px 62px 1fr 12px; align-items: center; width: calc(100% - 44px); min-height: 37px; margin: 0 22px; border: 0; background: transparent; color: #303e50; cursor: pointer; text-align: left; font-size: 11px; }.urgent-detail:hover { background: #f6f9fd; }.urgent-detail time { font-size: 11px; }.urgent-detail i { color: var(--blue); font-size: 18px; font-style: normal; }
.workflow-panel { grid-column: 2; }.workflow-stats { display: grid; grid-template-columns: repeat(4, 1fr); padding: 0 19px 14px; }.workflow-stats button { display: grid; gap: 2px; min-height: 116px; place-items: center; border: 0; border-left: 1px solid #edf1f5; background: #fff; cursor: pointer; color: #536177; }.workflow-stats button:first-child { border-left: 0; }.workflow-stats button:hover { background: #f5f9ff; }.workflow-stats span { color: #315b95; font-size: 26px; }.workflow-stats b { color: #58687d; font-size: 11px; line-height: 1.55; text-align: center; }.workflow-stats strong { color: #223e66; font-size: 24px; }.workflow-stats small { color: #77869a; font-size: 9px; }
.portal-footer { display: flex; justify-content: space-between; width: min(100% - 44px, 1660px); padding: 10px 0 16px; margin: auto; color: #6d7e96; font-size: 10px; }.portal-footer button { padding: 0 0 0 25px; border: 0; background: transparent; color: inherit; cursor: pointer; }.portal-footer button:hover { color: var(--blue); text-decoration: underline; }
.subpage { min-height: 680px; padding: 16px 2px 36px; }.breadcrumb { display: flex; gap: 9px; align-items: center; color: #78879c; font-size: 11px; }.breadcrumb button { padding: 0; border: 0; background: transparent; color: #376aa7; cursor: pointer; }.subpage-heading { display: grid; gap: 6px; margin: 33px 0 18px; }.subpage-heading p { margin: 0; color: #4280cc; font-size: 10px; font-weight: 800; letter-spacing: .12em; }.subpage-heading h1 { margin: 0; color: #1d477d; font-size: 29px; font-weight: 600; letter-spacing: .07em; }.subpage-heading span { color: #6c7d93; font-size: 13px; }.subpage-list { overflow: hidden; border: 1px solid #dde6f0; border-radius: 9px; background: #fff; }.subpage-row { display: grid; grid-template-columns: 70px 1fr 26px; align-items: center; width: 100%; min-height: 88px; padding: 0 25px; border: 0; border-bottom: 1px solid #e8edf4; background: #fff; cursor: pointer; text-align: left; }.subpage-row:last-child { border-bottom: 0; }.subpage-row:hover { background: #f4f8fd; }.row-index { color: #9dadc0; font-family: Georgia, serif; font-size: 18px; }.subpage-row strong, .subpage-row small { display: block; }.subpage-row strong { margin-bottom: 7px; color: #283c58; font-size: 14px; }.subpage-row small { color: #77879c; font-size: 12px; }.subpage-row i { color: var(--blue); font-size: 23px; font-style: normal; }
.hr-page, .employee-page { min-height: 680px; padding: 16px 2px 36px; }.hr-overview { display: grid; grid-template-columns: .9fr 1.5fr; gap: 14px; }.hr-summary { padding: 26px 29px; border-radius: 9px; background: linear-gradient(135deg, #174b89, #3178c7); color: #fff; box-shadow: 0 8px 20px rgba(38,91,157,.13); }.hr-summary > p { margin: 0 0 10px; color: #cbe4ff; font-size: 10px; font-weight: 800; letter-spacing: .14em; }.hr-summary h2 { margin: 0 0 24px; font-size: 18px; font-weight: 600; }.hr-summary > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }.hr-summary > div span { color: #d7eaff; font-size: 10px; line-height: 1.55; }.hr-summary b { display: block; color: #fff; font-size: 24px; line-height: 1.25; }.hr-links { display: grid; grid-template-columns: repeat(2, 1fr); overflow: hidden; border: 1px solid #dce5ef; border-radius: 9px; background: #fff; }.hr-links button { position: relative; display: grid; grid-template-columns: 30px 1fr 18px; grid-template-rows: 1fr 1fr; align-items: center; gap: 0 8px; min-height: 105px; padding: 18px 20px; border: 0; border-right: 1px solid #e8edf4; border-bottom: 1px solid #e8edf4; background: #fff; cursor: pointer; text-align: left; }.hr-links button:nth-child(2n) { border-right: 0; }.hr-links button:nth-last-child(-n+2) { border-bottom: 0; }.hr-links button:hover { background: #f5f9ff; }.hr-links button > span { grid-column: 1; grid-row: 1 / span 2; color: #2f6ec1; font-size: 24px; }.hr-links strong { grid-column: 2; grid-row: 1; align-self: end; color: #2c4568; font-size: 14px; }.hr-links small { grid-column: 2; grid-row: 2; align-self: start; color: #7a899d; font-size: 11px; }.hr-links i { grid-column: 3; grid-row: 1 / span 2; color: #296ac0; font-size: 20px; font-style: normal; }.hr-notice { margin-top: 14px; overflow: hidden; border: 1px solid #dce5ef; border-radius: 9px; background: #fff; }.hr-notice h2 { margin: 0; padding: 16px 23px; border-bottom: 1px solid #e8edf4; color: #274a7a; font-size: 15px; }.hr-notice button { display: grid; grid-template-columns: 115px 1fr 18px; align-items: center; width: 100%; min-height: 48px; padding: 0 23px; border: 0; border-bottom: 1px solid #edf1f5; background: #fff; cursor: pointer; text-align: left; }.hr-notice button:last-child { border-bottom: 0; }.hr-notice button:hover { background: #f5f9ff; }.hr-notice time { color: #718198; font-size: 11px; }.hr-notice span { color: #34455d; font-size: 12px; }.hr-notice i { color: #296ac0; font-size: 19px; font-style: normal; }
.profile-page { min-height: 680px; padding: 16px 2px 36px; }.profile-grid { display: grid; grid-template-columns: 1.05fr 1.25fr; gap: 14px; }.profile-account-card, .profile-workplace-card, .profile-directory-card { overflow: hidden; border: 1px solid #dce5ef; border-radius: 10px; background: #fff; box-shadow: 0 5px 16px rgba(31,75,134,.05); }.profile-account-card { padding: 25px 28px; }.profile-account-heading { display: flex; align-items: center; gap: 15px; padding-bottom: 20px; border-bottom: 1px solid #e8eef5; }.profile-large-avatar { display: grid; width: 58px; height: 58px; place-items: center; border-radius: 50%; background: linear-gradient(145deg, #e7f0fb, #aabdd8); color: #315a91; font-size: 24px; font-weight: 700; }.profile-account-heading h2 { margin: 0 0 5px; color: #253e63; font-size: 20px; }.profile-account-heading p { margin: 0; color: #748399; font-size: 12px; }.profile-account-card dl { display: grid; grid-template-columns: 104px 1fr; gap: 12px; margin: 20px 0 0; font-size: 12px; }.profile-account-card dt { color: #7a8ba0; }.profile-account-card dd { margin: 0; color: #30425f; font-weight: 700; }.profile-workplace-card { padding: 25px 29px; border: 0; background: linear-gradient(135deg, #174b89, #3178c7); color: #fff; }.profile-workplace-card > p { margin: 0 0 10px; color: #cbe4ff; font-size: 10px; font-weight: 800; letter-spacing: .14em; }.profile-workplace-card h2 { margin: 0 0 24px; color: #fff; font-size: 18px; font-weight: 600; }.profile-workplace-card > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }.profile-workplace-card > div span { color: #d7eaff; font-size: 10px; line-height: 1.55; }.profile-workplace-card b { display: block; color: #fff; font-size: 24px; line-height: 1.25; }.profile-directory-card { grid-column: 1 / -1; }.profile-directory-card header { display: flex; align-items: center; justify-content: space-between; padding: 19px 25px; border-bottom: 1px solid #e8eef5; }.profile-directory-card header p { margin: 0 0 5px; color: #4381ca; font-size: 10px; font-weight: 800; letter-spacing: .12em; }.profile-directory-card h2 { margin: 0; color: #2a476f; font-size: 16px; }.profile-directory-card header strong { padding: 5px 11px; border-radius: 999px; background: #edf3fa; color: #637994; font-size: 11px; }.profile-directory-empty { display: grid; min-height: 124px; place-items: center; gap: 7px; padding: 26px; color: #8493a6; text-align: center; }.profile-directory-empty span { color: #9bb4d3; font-size: 31px; }.profile-directory-empty p { margin: 0; font-size: 12px; }.profile-hr-section { margin-top: 23px; }.profile-hr-section > header { margin: 0 0 11px; }.profile-hr-section > header p { margin: 0 0 5px; color: #4381ca; font-size: 10px; font-weight: 800; letter-spacing: .12em; }.profile-hr-section > header h2 { margin: 0; color: #284976; font-size: 18px; }.profile-hr-section .hr-notice { margin-top: 14px; }.profile-logout-button { display: block; min-width: 118px; padding: 10px 18px; margin: 20px 0 0 auto; border: 1px solid #d8e1eb; border-radius: 5px; background: #fff; color: #64758a; cursor: pointer; font-size: 12px; }.profile-logout-button:hover { border-color: #bfccd9; background: #f7f9fc; }
.support-page { min-height: 680px; padding: 16px 2px 36px; }.support-menu { display: grid; gap: 13px; }.support-disabled, .support-reset { display: grid; grid-template-columns: 52px 1fr 24px; align-items: center; min-height: 112px; padding: 22px 27px; border: 1px solid #dce5ef; border-radius: 10px; text-align: left; }.support-disabled { grid-template-columns: 52px 1fr; background: #f6f8fa; color: #8a97a5; }.support-disabled > span, .support-reset > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; font-size: 21px; }.support-disabled > span { background: #e5eaf0; color: #8493a3; }.support-reset { background: #fff; cursor: pointer; }.support-reset:hover { border-color: #a9c5e7; background: #f8fbff; }.support-reset > span { background: #e5effb; color: #2e6db8; }.support-menu h2 { margin: 0 0 7px; color: #2d4566; font-size: 15px; }.support-menu p { margin: 0; color: #75869b; font-size: 12px; }.support-disabled h2 { color: #7f8c9a; }.support-reset i { color: #2d6ab8; font-size: 23px; font-style: normal; }
.employee-search { padding: 19px 23px; margin-bottom: 13px; border: 1px solid #dce5ef; border-radius: 9px; background: #fff; }.employee-search label { display: block; margin-bottom: 9px; color: #415572; font-size: 12px; font-weight: 700; }.employee-search > div { display: flex; align-items: center; gap: 10px; padding: 0 14px; border: 1px solid #cfdcea; border-radius: 6px; background: #f8fbff; color: #4775aa; }.employee-search > div > span { font-size: 21px; }.employee-search input { flex: 1; min-width: 0; padding: 13px 0; border: 0; outline: 0; background: transparent; color: #263d5d; font-size: 14px; }.employee-search input::placeholder { color: #9aa8b9; }.employee-search b { padding-left: 12px; border-left: 1px solid #dae3ee; color: #55708f; font-size: 11px; white-space: nowrap; }.employee-list { overflow: hidden; border: 1px solid #dce5ef; border-radius: 9px; background: #fff; }.employee-row { display: grid; grid-template-columns: 42px minmax(0, 1fr) 175px 20px; align-items: center; gap: 13px; width: 100%; min-height: 67px; padding: 9px 23px; border: 0; border-bottom: 1px solid #e8edf4; background: #fff; cursor: pointer; text-align: left; }.employee-row:last-child { border-bottom: 0; }.employee-row:hover { background: #f4f8fd; }.employee-initial { position: relative; display: grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; background: #e5effa; color: #316bb4; font-size: 14px; font-weight: 700; }.presence-dot { position: absolute; right: -1px; bottom: -1px; width: 11px; height: 11px; border: 2px solid #fff; border-radius: 50%; }.presence-dot.is-online, .presence-status.is-online i { background: #2aa865; }.presence-dot.is-away, .presence-status.is-away i { background: #e59a20; }.presence-dot.is-offline, .presence-status.is-offline i { background: #8794a4; }.employee-row strong, .employee-row small { display: block; }.employee-row strong { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; color: #2b405e; font-size: 13px; }.presence-status { display: inline-flex; align-items: center; gap: 4px; color: #718197; font-size: 10px; font-style: normal; font-weight: 600; }.presence-status i { width: 7px; height: 7px; border-radius: 50%; }.employee-row small { color: #7b8b9f; font-size: 10px; }.employee-location { color: #50647e; font-size: 11px; }.employee-location em { display: block; margin-top: 4px; color: #8998ab; font-size: 10px; font-style: normal; }.employee-row > i { color: #296ac0; font-size: 20px; font-style: normal; }.employee-empty { padding: 38px; margin: 0; color: #78899f; text-align: center; }
.message-page { min-height: 720px; padding: 16px 2px 48px; }.message-hero { display: grid; align-content: center; min-height: 255px; padding: 42px 64px; margin-top: 17px; overflow: hidden; border-radius: 10px; background: linear-gradient(115deg, rgba(13,55,113,.98), rgba(31,91,164,.87) 52%, rgba(77,146,208,.62)), radial-gradient(circle at 86% 22%, rgba(255,255,255,.4) 0 2px, transparent 3px), linear-gradient(145deg, #1c4d8e, #a7d6ee); color: #fff; box-shadow: 0 8px 22px rgba(30,74,134,.16); }.message-hero::after { position: absolute; content: ""; }.message-hero p { margin: 0 0 12px; color: #c7e3ff; font-size: 10px; letter-spacing: .18em; font-weight: 800; }.message-hero h1 { margin: 0 0 18px; font-family: Georgia, "Yu Mincho", serif; font-size: 33px; line-height: 1.4; font-weight: 500; letter-spacing: .08em; }.message-hero span { color: #d5eaff; font-size: 12px; letter-spacing: .08em; }.message-layout { display: grid; grid-template-columns: 315px minmax(0, 700px); gap: 56px; max-width: 1120px; padding: 47px 24px 18px; margin: 0 auto; }.message-aside { padding-top: 8px; border-top: 3px solid #2f72c9; }.message-aside figure { margin: 0; overflow: hidden; border: 1px solid #d7e1ee; border-radius: 3px; background: #fff; box-shadow: 0 8px 20px rgba(38,76,126,.12); }.message-aside img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }.message-article { color: #425670; font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif; font-size: 15px; line-height: 2.15; letter-spacing: .035em; }.message-article p { margin: 0 0 24px; }.message-article strong { color: #1d4e8b; }.message-lead { color: #244d7d; font-size: 21px; line-height: 1.75 !important; font-weight: 600; }.message-article blockquote { padding: 24px 27px; margin: 31px 0; border-left: 3px solid #2a70c7; background: #f1f7fe; color: #214d83; font-size: 18px; line-height: 1.85; font-weight: 600; }.message-article blockquote span { display: block; margin-bottom: 8px; color: #5785bc; font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", sans-serif; font-size: 10px; letter-spacing: .15em; }.message-sign { padding-top: 9px; text-align: right; }.message-sign strong { font-size: 19px; letter-spacing: .15em; }
.portal-modal[hidden] { display: none; }.portal-modal { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(18,38,69,.38); backdrop-filter: blur(3px); }.modal-card { position: relative; width: min(520px, 100%); padding: 37px 40px 29px; border-radius: 12px; background: #fff; box-shadow: 0 24px 70px rgba(10,35,71,.27); }.modal-close { position: absolute; top: 13px; right: 15px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: #f0f4f8; color: #59708c; cursor: pointer; font-size: 22px; line-height: 1; }.modal-kicker { margin: 0 0 6px; color: #2871c9; font-size: 10px; font-weight: 800; letter-spacing: .13em; }.modal-kicker:empty { display: none; }.modal-card h2 { margin: 0 0 20px; color: #233f68; font-size: 20px; line-height: 1.5; }.modal-card p { color: #52647d; font-size: 13px; line-height: 1.9; }.modal-sign { text-align: right; }.modal-card dl { display: grid; grid-template-columns: 120px 1fr; gap: 8px 12px; padding: 15px; border-radius: 6px; background: #f5f8fc; color: #52647b; font-size: 12px; }.modal-card dt { color: #7a8aa0; }.modal-card dd { margin: 0; color: #293c59; font-weight: 700; }.callout { padding: 12px 14px; border-left: 3px solid #3676ca; background: #f1f7ff; color: #376194 !important; }.modal-action { min-width: 105px; padding: 10px 18px; margin-top: 13px; border: 0; border-radius: 5px; background: #1b62bd; color: #fff; cursor: pointer; font-size: 12px; font-weight: 700; }.modal-action:hover { background: #0d529f; }.modal-open { overflow: hidden; }
.account-login-form { display: grid; gap: 15px; }.account-login-form label { display: grid; gap: 7px; color: #48607e; font-size: 12px; font-weight: 700; }.account-login-form input { width: 100%; padding: 12px 13px; border: 1px solid #cfdbe9; border-radius: 5px; outline: 0; background: #fbfdff; color: #263d5d; font-size: 14px; }.account-login-form input:focus { border-color: #2c71c8; box-shadow: 0 0 0 3px rgba(44,113,200,.11); }.account-login-form button { padding: 12px; border: 0; border-radius: 5px; background: #1c63be; color: #fff; cursor: pointer; font-size: 13px; font-weight: 700; }.account-login-form button:hover { background: #104f9f; }.account-login-form p { margin: 0; color: #778aa3; font-size: 11px; line-height: 1.7; }.account-login-form .password-reset-hint.is-error { color: #c53131; font-weight: 700; }
.portal-toast { position: fixed; z-index: 200; right: 22px; bottom: 21px; max-width: 360px; padding: 12px 17px; border-radius: 7px; background: #153f75; color: #fff; box-shadow: 0 8px 22px rgba(16,55,105,.28); font-size: 12px; opacity: 0; transform: translateY(14px); transition: .24s ease; pointer-events: none; }.portal-toast.show { opacity: 1; transform: translateY(0); }
/* 擬似ブラウザのiframeはモバイルでもPC幅になることがある。portal-embedded-mobile
   では、ポータル本文と通知をそれぞれ独立して最後までスクロールできるようにする。 */
body.portal-embedded-mobile { min-width: 0; height: 100%; min-height: 0; padding: 0; overflow: hidden; font-size: 13px; }
html:has(body.portal-embedded-mobile), body.portal-embedded-mobile { min-width: 0; overflow-x: hidden; }
body.portal-embedded-mobile .portal-app { display: flex; height: 100dvh; min-height: 0; flex-direction: column; overflow: hidden; }
body.portal-embedded-mobile .portal-header { position: relative; flex: 0 0 64px; width: 100%; height: 64px; padding: 0 14px; overflow: hidden; box-shadow: 0 1px 7px rgba(31,64,111,.08); }
body.portal-embedded-mobile .portal-mobile-menu-toggle { display: inline-grid; width: 39px; height: 39px; flex: 0 0 39px; place-items: center; padding: 0; margin-right: 10px; border: 1px solid #d7e2ef; border-radius: 6px; background: #fff; color: #315779; cursor: pointer; font-size: 22px; line-height: 1; }
body.portal-embedded-mobile .portal-mobile-menu-toggle[aria-expanded="true"] { border-color: #9abce1; background: #edf5ff; color: var(--blue); }
body.portal-embedded-mobile .shiomi-brand { flex: 1 1 auto; min-width: 0; gap: 7px; }
body.portal-embedded-mobile .shiomi-brand strong { padding-right: 0; font-size: 23px; letter-spacing: .09em; }
body.portal-embedded-mobile .shiomi-brand em { display: none; }
body.portal-embedded-mobile .shiomi-mark { width: 48px; height: 42px; }
body.portal-embedded-mobile .portal-nav, body.portal-embedded-mobile .header-actions { display: none; }
body.portal-embedded-mobile .portal-mobile-menu { position: fixed; z-index: 50; top: 72px; right: 10px; left: 10px; display: grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap: 7px; max-height: calc(100dvh - 92px); padding: 10px; overflow-y: auto; border: 1px solid #cad9e9; border-radius: 9px; background: rgba(255,255,255,.98); box-shadow: 0 12px 28px rgba(29,62,104,.2); -webkit-overflow-scrolling: touch; }
body.portal-embedded-mobile .portal-mobile-menu[hidden] { display: none; }
body.portal-embedded-mobile .portal-mobile-menu .nav-item { min-height: 42px; justify-content: flex-start; gap: 8px; padding: 0 11px; border: 1px solid #e0e8f1; border-radius: 5px; background: #f9fbfe; color: #385574; font-size: 12px; }
body.portal-embedded-mobile .portal-mobile-menu .nav-item span { color: #2c6db7; font-size: 17px; }
body.portal-embedded-mobile .portal-mobile-menu .nav-item.active { border-color: #a8c7e8; background: #eef6ff; color: #155db6; }
body.portal-embedded-mobile .portal-mobile-menu .nav-item::after { display: none; }
body.portal-embedded-mobile .header-actions { display: none; }
body.portal-embedded-mobile .portal-main { width: calc(100% - 20px); min-height: 0; flex: 1 1 auto; margin: 10px auto 0; padding: 0 0 calc(136px + env(safe-area-inset-bottom)); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
body.portal-embedded-mobile .portal-footer { flex: 0 0 auto; width: calc(100% - 20px); padding: 7px 0 9px; font-size: 8px; }
body.portal-embedded-mobile .footer-static-links { display: none; }
body.portal-embedded-mobile .hero-panel { min-height: 168px; border-radius: 7px; }
body.portal-embedded-mobile .hero-copy { padding: 23px 21px; }
body.portal-embedded-mobile .hero-copy h1 { margin-bottom: 5px; font-size: 26px; }
body.portal-embedded-mobile .hero-copy h2 { margin-bottom: 10px; font-size: 16px; }
body.portal-embedded-mobile .hero-copy > p:not(.eyebrow) { margin-bottom: 13px; font-size: 10px; line-height: 1.75; }
body.portal-embedded-mobile .portal-mobile-break { display: block; }
body.portal-embedded-mobile .outline-cta { min-width: 171px; padding: 8px 10px 8px 13px; font-size: 10px; }
body.portal-embedded-mobile .dashboard-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 10px; }
body.portal-embedded-mobile .workflow-panel { grid-column: auto; }
body.portal-embedded-mobile .panel-heading { min-height: 46px; padding: 0 15px; }
body.portal-embedded-mobile .panel-heading h2 { font-size: 15px; }
body.portal-embedded-mobile .notice-list { padding: 0 14px; }
body.portal-embedded-mobile .notice-row { grid-template-columns: 72px 56px minmax(0, 1fr); min-height: 39px; }
body.portal-embedded-mobile .notice-row time, body.portal-embedded-mobile .notice-row span { font-size: 10px; }
body.portal-embedded-mobile .tag { width: 48px; font-size: 9px; }
body.portal-embedded-mobile .panel-bottom-link { width: calc(100% - 28px); margin: 0 14px; }
body.portal-embedded-mobile .schedule-table { padding: 0 13px 10px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
body.portal-embedded-mobile .schedule-head, body.portal-embedded-mobile .schedule-row { min-width: 570px; }
body.portal-embedded-mobile .urgent-banner, body.portal-embedded-mobile .urgent-detail { width: calc(100% - 28px); margin-right: 14px; margin-left: 14px; }
body.portal-embedded-mobile .urgent-detail { grid-template-columns: 92px 54px minmax(0, 1fr) 12px; }
body.portal-embedded-mobile .workflow-stats { padding: 0 10px 10px; }
body.portal-embedded-mobile .workflow-stats button { min-height: 84px; }
body.portal-embedded-mobile .workflow-panel { margin-bottom: 42px; }
body.portal-embedded-mobile .profile-page { min-height: 0; padding: 13px 0 84px; }
body.portal-embedded-mobile .profile-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
body.portal-embedded-mobile .profile-account-card { padding: 18px; }
body.portal-embedded-mobile .profile-account-heading { gap: 12px; padding-bottom: 15px; }
body.portal-embedded-mobile .profile-account-heading h2 { font-size: 18px; }
body.portal-embedded-mobile .profile-account-card dl { grid-template-columns: 78px minmax(0, 1fr); gap: 9px; margin-top: 15px; font-size: 11px; }
body.portal-embedded-mobile .profile-account-card dd { min-width: 0; overflow-wrap: anywhere; }
body.portal-embedded-mobile .profile-directory-card { grid-column: auto; }
body.portal-embedded-mobile .profile-directory-card header { padding: 15px; }
body.portal-embedded-mobile .profile-directory-files button { grid-template-columns: 25px minmax(0, 1fr) 16px; min-height: 56px; padding: 0 15px; }
body.portal-embedded-mobile .profile-directory-files strong { font-size: 11px; }
body.portal-embedded-mobile .corrupt-profile-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
body.portal-embedded-mobile .corrupt-profile-grid article { min-width: 0; min-height: 0; padding: 18px; }
body.portal-embedded-mobile .corrupt-profile-grid article:last-child { grid-column: auto; }
body.portal-embedded-mobile .corrupt-profile-grid dl { grid-template-columns: 82px minmax(0, 1fr); gap: 9px; margin-top: 16px; }
body.portal-embedded-mobile .corrupt-profile-grid dd { min-width: 0; overflow-wrap: anywhere; }
body.portal-embedded-mobile .corrupt-file { min-width: 0; overflow-wrap: anywhere; }

body.portal-embedded-mobile .message-page { min-height: 0; padding: 13px 0 84px; }
body.portal-embedded-mobile .message-hero { min-height: 174px; padding: 27px 21px; margin-top: 11px; border-radius: 7px; }
body.portal-embedded-mobile .message-hero h1 { margin-bottom: 11px; font-size: 22px; line-height: 1.45; letter-spacing: .045em; }
body.portal-embedded-mobile .message-hero span { font-size: 10px; }
body.portal-embedded-mobile .message-layout { grid-template-columns: minmax(0, 1fr); gap: 18px; max-width: none; padding: 20px 7px 28px; }
body.portal-embedded-mobile .message-aside { width: min(220px, 72%); padding-top: 5px; margin: 0 auto; }
body.portal-embedded-mobile .message-article { min-width: 0; font-size: 13px; line-height: 2; overflow-wrap: anywhere; }
body.portal-embedded-mobile .message-article p { margin-bottom: 18px; }
body.portal-embedded-mobile .message-lead { font-size: 17px; line-height: 1.7 !important; }
body.portal-embedded-mobile .message-article blockquote { padding: 17px; margin: 22px 0; font-size: 15px; }
body.portal-embedded-mobile .employee-search { padding: 15px; margin-bottom: 10px; }
body.portal-embedded-mobile .employee-search > div { padding: 0 11px; }
body.portal-embedded-mobile .employee-search b { padding-left: 8px; font-size: 10px; }
body.portal-embedded-mobile .employee-row { grid-template-columns: 39px minmax(0, 1fr) 15px; grid-template-areas: "avatar identity arrow" "avatar location arrow"; align-items: center; column-gap: 10px; row-gap: 6px; min-height: 88px; padding: 13px 14px; }
body.portal-embedded-mobile .employee-initial { grid-area: avatar; }
body.portal-embedded-mobile .employee-row > span:nth-child(2) { grid-area: identity; min-width: 0; }
body.portal-embedded-mobile .employee-row strong { flex-wrap: wrap; gap: 5px; margin-bottom: 3px; font-size: 13px; line-height: 1.35; }
body.portal-embedded-mobile .employee-row small { overflow-wrap: anywhere; font-size: 10px; line-height: 1.55; }
body.portal-embedded-mobile .employee-location { grid-area: location; min-width: 0; color: #50647e; font-size: 11px; line-height: 1.4; }
body.portal-embedded-mobile .employee-location em { display: inline; margin: 0 0 0 7px; white-space: nowrap; }
body.portal-embedded-mobile .employee-row > i { grid-area: arrow; align-self: center; }
body.portal-embedded-mobile .corrupt-employee-list button { grid-template-columns: 39px minmax(0, 1fr); align-items: start; gap: 10px; min-height: 76px; padding: 13px 14px; }
body.portal-embedded-mobile .corrupt-employee-list button > span { margin-top: 2px; }
body.portal-embedded-mobile .corrupt-employee-list strong { min-width: 0; overflow-wrap: anywhere; line-height: 1.45; }
body.portal-embedded-mobile .corrupt-employee-list small { overflow-wrap: anywhere; line-height: 1.55; }
body.portal-embedded-mobile .corrupt-employee-list em { grid-column: 2; margin-top: -2px; text-align: left; overflow-wrap: anywhere; }
body.portal-embedded-mobile .portal-modal { box-sizing: border-box; display: flex; align-items: flex-start; justify-content: center; height: 100%; min-height: 0; padding: 12px 12px calc(28px + env(safe-area-inset-bottom)); overflow: hidden; overscroll-behavior: contain; }
body.portal-embedded-mobile .portal-modal[hidden] { display: none; }
/* 100dvh は擬似ブラウザの iframe 内で外側の端末高になることがある。
   親の .portal-modal 自身の高さを基準にすることで、必ずブラウザ本文内に収める。 */
body.portal-embedded-mobile .modal-card { box-sizing: border-box; width: 100%; max-height: calc(100% - 24px); min-height: 0; padding: 30px 25px calc(72px + env(safe-area-inset-bottom)); margin: 0 auto; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y; }
body.portal-embedded-mobile .modal-close { position: sticky; z-index: 2; top: 0; float: right; width: 34px; height: 34px; margin: -18px -13px 7px 10px; }
body.portal-embedded-mobile .modal-card h2 { clear: none; padding-right: 29px; font-size: 19px; line-height: 1.48; overflow-wrap: anywhere; }
body.portal-embedded-mobile .modal-card p { font-size: 13px; line-height: 1.85; overflow-wrap: anywhere; }
body.portal-embedded-mobile .modal-card dl { grid-template-columns: 92px minmax(0, 1fr); padding: 12px; }
/* iframe が PC 幅を報告しても、モバイル判定時は親ブラウザの固定番号と重ねない。 */
body.portal-embedded-mobile .portal-page-number { display: none !important; }
body.portal-embedded-mobile .portal-toast { right: 12px; bottom: 12px; max-width: calc(100% - 24px); }
@media (max-width: 1180px) { .shiomi-brand { flex-basis: 270px; }.shiomi-brand strong { font-size: 24px; }.shiomi-brand em { display: none; }.portal-nav { gap: 10px; }.nav-item { font-size: 11px; }.nav-item span { font-size: 16px; }.hero-panel { min-height: 244px; }.hero-copy { padding-left: 36px; }.dashboard-grid { grid-template-columns: 1fr 1.24fr; }.notice-row { grid-template-columns: 82px 64px minmax(0,1fr); }.workflow-panel { grid-column: 2; }.workflow-stats button { min-height: 98px; }}
.presence-dot.is-retired, .presence-status.is-retired i { display: grid; width: 12px; height: 12px; place-items: center; border: 0; border-radius: 50%; background: #a15959; color: #fff; }.presence-dot.is-retired::after, .presence-status.is-retired i::after { content: "×"; font-family: Arial, sans-serif; font-size: 12px; font-style: normal; font-weight: 800; line-height: 1; }.presence-status.is-retired { color: #985b5b; }

/* 退職済み旧アカウントに残った、破損したポータル表示 */
.kitagawa-retired-session { --blue: #7d4545; --navy: #553338; --ink: #43363a; --muted: #967e83; --line: #d4c1c0; --surface: #f7f0e9; --page: #e8dfd8; background: #e8dfd8; }
.kitagawa-retired-session .portal-main, .kitagawa-retired-session .portal-main * { font-family: "MS PGothic", "ＭＳ Ｐゴシック", "MS UI Gothic", Meiryo, sans-serif !important; }
.kitagawa-retired-session .portal-app { background: repeating-linear-gradient(0deg, rgba(85,46,46,.025) 0 1px, transparent 1px 4px), linear-gradient(125deg, #f5eee7, #ddd1cb); }
.kitagawa-retired-session .portal-header { border-bottom-color: #bdaaa8; background: rgba(248,242,236,.96); box-shadow: 0 2px 13px rgba(69,35,39,.14); }
.kitagawa-retired-session .shiomi-brand { opacity: .68; filter: grayscale(1); }
.kitagawa-retired-session .profile-account-label small, .kitagawa-retired-session .profile-account-label small i { color: #a25959; background: #a25959; }
.kitagawa-retired-session .nav-item.active::after { background: #a44d4d; }
.corrupt-home { min-height: 690px; }
.corrupt-alert { padding: 9px 18px; border: 1px solid #c98787; background: repeating-linear-gradient(135deg, #f2d7d0 0 7px, #f8e5df 7px 14px); color: #7e3035; font: 700 11px/1.3 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; }
.corrupt-hero { position: relative; display: grid; grid-template-columns: .95fr 1.45fr; min-height: 248px; margin-top: 12px; overflow: hidden; border: 1px solid #cdb7b4; background: #dfd5ce; box-shadow: inset 0 0 0 1px rgba(255,255,255,.65); }
.corrupt-hero::before { position: absolute; inset: 0; background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(110,59,59,.07) 3px 4px); content: ""; pointer-events: none; }
.corrupt-hero img { width: 100%; height: 100%; min-height: 248px; padding: 34px; border-right: 1px dashed #ab8d8b; background: #c8bfbc; color: #703c42; font-size: 12px; object-fit: contain; }
.corrupt-hero > div { position: relative; z-index: 1; padding: 35px 42px; }
.corrupt-hero h1 { margin: 0 0 8px; color: #54343a; font-family: Georgia, "Yu Mincho", serif; font-size: 35px; letter-spacing: .1em; }
.corrupt-hero h2 { margin: 0 0 20px; color: #a24348; font: 700 20px/1.2 ui-monospace, monospace; }
.corrupt-hero p { max-width: 430px; color: #655257; letter-spacing: .12em; }
.corrupt-hero button, .corrupt-not-found button { padding: 10px 15px; border: 1px solid #a36f70; background: #eee4dc; color: #68393e; cursor: pointer; font-weight: 700; }
.corrupt-dashboard .panel { border-color: #cbb8b6; background: rgba(250,245,240,.88); box-shadow: none; }
.corrupt-dashboard .panel-heading { background: rgba(128,75,76,.06); }
.corrupt-dashboard .panel-heading h2, .corrupt-dashboard .panel-heading h2 span { color: #6c4145; }
.corrupt-dashboard .notice-row { grid-template-columns: 100px 62px minmax(0,1fr); }
.corrupt-dashboard .notice-row time { color: #987f83; font-family: ui-monospace, monospace; }
.corrupt-dashboard .notice-row span { color: #665157; letter-spacing: .09em; }
.corrupt-dashboard .tag.red { background: #936464; }
.corrupt-research { min-height: 188px; padding: 8px 27px 18px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.corrupt-research p { padding: 9px 6px; margin: 0; border-bottom: 1px dotted #bca6a5; color: #5c494d; letter-spacing: .08em; }
.corrupt-urgent { background: #fff5f2 !important; }
.corrupt-urgent .urgent-banner { border-color: #db9f9d; background: #f9ded8; color: #8c363a; }
.corrupt-urgent .urgent-detail { grid-template-columns: 135px 74px 1fr 12px; color: #6d393d; font-weight: 700; }
.corrupt-dashboard .workflow-stats button { background: #fbf5ef; color: #78565a; }
.corrupt-dashboard .workflow-stats strong { color: #a03e43; font-family: ui-monospace, monospace; }
.corrupt-footer-log { margin: 12px 0 0; color: #806669; font: 11px/1.6 ui-monospace, monospace; text-align: right; }.corrupt-footer-log span { color: #af4347; }
.corrupt-subpage { min-height: 670px; padding: 18px 4px 40px; }.corrupt-subpage > header { padding: 26px 31px; margin: 26px 0 0; border: 1px solid #b89e9f; background: linear-gradient(100deg, #eee0da, #d5c4bf); }.corrupt-subpage > header p { margin: 0 0 7px; color: #a13f44; font: 700 10px ui-monospace, monospace; letter-spacing: .14em; }.corrupt-subpage > header h1 { margin: 0 0 7px; color: #53363b; font-size: 28px; }.corrupt-subpage > header span { color: #756064; font-family: ui-monospace, monospace; }
.corrupt-text-block { overflow: hidden; margin-top: 12px; border: 1px solid #c6b2b0; background: rgba(253,248,243,.85); }.corrupt-text-block button { display: grid; grid-template-columns: 52px 1fr 18px; width: 100%; min-height: 67px; padding: 0 24px; border: 0; border-bottom: 1px dashed #cfbcba; background: transparent; color: #57454a; cursor: pointer; text-align: left; }.corrupt-text-block button:hover { background: rgba(159,67,67,.08); }.corrupt-text-block b { color: #b17172; font-family: ui-monospace, monospace; }.corrupt-text-block span { font-family: ui-monospace, "Yu Gothic", monospace; letter-spacing: .06em; }.corrupt-text-block i { color: #9d5a5d; font-size: 20px; font-style: normal; }.corrupt-scanline { padding: 12px 4px; color: #9d7777; font: 10px ui-monospace, monospace; text-align: right; }
.corrupt-not-found { display: grid; min-height: 590px; place-content: center; gap: 13px; border: 1px dashed #b59998; background: repeating-linear-gradient(135deg, #eee4dd 0 12px, #e8dcd5 12px 24px); color: #5b4044; text-align: center; }.corrupt-not-found p { margin: 0; color: #a34247; font: 700 30px ui-monospace, monospace; }.corrupt-not-found h1 { margin: 0; font-size: 20px; }.corrupt-not-found small { color: #856b6d; font-family: ui-monospace, monospace; }
.corrupt-project-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 13px; }.corrupt-project-grid button, .corrupt-hr-cards button, .corrupt-support-menu button { display: grid; gap: 8px; min-height: 126px; padding: 20px 22px; border: 1px solid #c7b1af; background: rgba(253,247,241,.84); color: #574146; cursor: pointer; text-align: left; }.corrupt-project-grid button:hover, .corrupt-hr-cards button:hover, .corrupt-support-menu button:hover { background: #f1e1da; }.corrupt-project-grid small { color: #a16365; font-weight: 800; }.corrupt-project-grid strong { font-family: ui-monospace, "Yu Gothic", monospace; line-height: 1.65; }.corrupt-project-grid span { color: #9a5559; font: 700 17px ui-monospace, monospace; }.corrupt-project-grid i { display: inline-block; width: 55px; height: 5px; margin-right: 7px; background: repeating-linear-gradient(90deg, #a75c5d 0 5px, transparent 5px 9px); }.corrupt-data-note { padding: 12px 15px; margin: 13px 0 0; border-left: 3px solid #ae6666; background: rgba(180,95,95,.09); color: #80595b; font-size: 12px; }.corrupt-hr-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 13px; }.corrupt-hr-cards button { grid-template-columns: 32px 1fr; grid-template-rows: 1fr 1fr; }.corrupt-hr-cards button > span { grid-row: 1 / span 2; color: #9d5558; font-size: 25px; }.corrupt-hr-cards strong { align-self: end; }.corrupt-hr-cards small { align-self: start; color: #846b6d; }.corrupt-search { padding: 18px 23px; margin-top: 13px; border: 1px solid #c7b3b1; background: rgba(251,245,239,.88); }.corrupt-search label { display: block; margin-bottom: 8px; color: #695458; font-size: 12px; font-weight: 800; }.corrupt-search > div { display: flex; align-items: center; gap: 10px; padding: 0 12px; border: 1px solid #bda6a4; background: #eee2dc; color: #9c5a5c; }.corrupt-search input { flex: 1; padding: 12px 0; border: 0; outline: 0; background: transparent; color: #716065; font-family: ui-monospace, monospace; }.corrupt-search b { color: #a04549; font: 700 12px ui-monospace, monospace; }.corrupt-employee-list { overflow: hidden; margin-top: 12px; border: 1px solid #c7b2b0; }.corrupt-employee-list button { display: grid; grid-template-columns: 44px 1fr 160px; align-items: center; gap: 13px; width: 100%; min-height: 75px; padding: 10px 22px; border: 0; border-bottom: 1px dashed #cab6b3; background: rgba(253,248,244,.86); color: #604a4e; cursor: pointer; text-align: left; }.corrupt-employee-list button > span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; background: #c5adae; color: #fff6ef; font-size: 17px; }.corrupt-employee-list strong, .corrupt-employee-list small { display: block; }.corrupt-employee-list small { margin-top: 5px; color: #92777a; font: 10px ui-monospace, monospace; }.corrupt-employee-list em { color: #a56b6d; font: 10px ui-monospace, monospace; font-style: normal; text-align: right; }.corrupt-support-menu { display: grid; gap: 12px; margin-top: 13px; }.corrupt-support-menu button { grid-template-columns: 39px 1fr; grid-template-rows: 1fr 1fr; min-height: 92px; }.corrupt-support-menu button > span { grid-row: 1 / span 2; display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #bb8888; border-radius: 50%; color: #a44e52; font-size: 18px; }.corrupt-support-menu strong { align-self: end; }.corrupt-support-menu small { align-self: start; color: #896d70; }.corrupt-console { padding: 17px; margin: 13px 0 0; border: 1px solid #6a4647; background: #31282a; color: #e2b9b4; font: 12px/1.8 ui-monospace, monospace; }.corrupt-profile-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; margin-top: 13px; }.corrupt-profile-grid article { min-height: 300px; padding: 25px 28px; border: 1px solid #c5afad; background: rgba(253,247,241,.88); color: #584347; }.corrupt-avatar { display: grid; width: 59px; height: 59px; place-items: center; border-radius: 50%; background: repeating-linear-gradient(135deg, #b98a8b 0 4px, #c9a9a7 4px 8px); color: #fff4ee; font: 700 29px ui-monospace, monospace; }.corrupt-profile-grid h2 { margin: 14px 0 4px; color: #583b40; }.corrupt-profile-grid p { color: #866c6f; font-size: 12px; }.corrupt-profile-grid dl { display: grid; grid-template-columns: 95px 1fr; gap: 10px; margin-top: 21px; font-size: 12px; }.corrupt-profile-grid dt { color: #9b7c7e; }.corrupt-profile-grid dd { margin: 0; color: #5b454a; font-family: ui-monospace, monospace; }.corrupt-profile-grid .danger { color: #a43f44; font-weight: 800; }.corrupt-file { padding: 12px; margin-top: 8px; border: 1px dashed #bca5a4; color: #806568; font: 11px ui-monospace, monospace; }
.corrupt-file-button, .corrupt-directory-back { display:block; width:100%; cursor:pointer; text-align:left; }.corrupt-file-button { background:#f4ebe5; }.corrupt-file-button:hover, .corrupt-directory-back:hover { background:#ead9d1; }.corrupt-directory-back { padding:9px 0; border:0; border-bottom:1px dashed #bca5a4; background:transparent; color:#8b6163; font-size:11px; }
