/* Honors identity: navy for actions, gold for ornament, ivory for the workspace.
   Status colors and evidence overlays retain their separate semantic roles. */
:root { --gold:#b69a60; --gold-light:#d5b674; --navy:#162a46; }
.shell { grid-template-columns:240px minmax(0,1fr); }
aside { background:linear-gradient(165deg,#203853 0%,var(--navy) 55%); border-right:1px solid #394862; padding:30px 18px; }
.brand, .auth-brand { display:flex; align-items:center; gap:10px; margin:0; }
.brand-name { font-family:"Hiragino Mincho ProN","Yu Mincho",serif; font-size:18px; font-weight:600; letter-spacing:1px; white-space:nowrap; }
.brand-name small { display:block; font:9px/1.5 -apple-system,BlinkMacSystemFont,sans-serif; letter-spacing:2px; color:var(--gold-light); margin-top:5px; }
.insignia { display:block; flex:none; }
.brand { padding-bottom:26px; border-bottom:1px solid #b69a604d; }
.nav.active { box-shadow:inset 3px 0 var(--gold-light); }
.navlabel { letter-spacing:1.5px; }
header { border-top:3px solid var(--gold); background:#fffefa; }
h1 { font-family:"Hiragino Mincho ProN","Yu Mincho",serif; font-weight:600; letter-spacing:1.2px; color:var(--navy); }
.eyebrow { color:#766038; letter-spacing:2.4px; }
.titlebar { padding-bottom:18px; border-bottom:1px solid var(--line); }
.stat, .panel { box-shadow:0 3px 16px #162a4605; }
.stat { border-top:2px solid #cfbb8e; }
.work-next { border-left:3px solid var(--gold); }
.workflow [aria-current=step] .step-number { background:var(--navy); border-color:var(--navy); }
.saved-roster { background:#fffefa; }
.review-column legend { font-size:14px; }
/* Keep review warnings amber and errors red: gold ornament never means review. */
.review-targets a { border-color:#a16d17; background:#fff8e6; color:#734c0c; }
.review-targets a:hover { background:#ffefc5; }
.review-targets a.review-target-priority { background:var(--navy); border-color:var(--navy); color:#fff; }
.review-targets a.review-target-priority:hover { background:#294565; border-color:#294565; }
/* Always-present jump link to the postal section: not one of the items counted as 要確認. */
.review-targets a.review-target-section { border-color:var(--line); background:#fff; color:var(--primary); }
.review-targets a.review-target-section:hover { background:#eef1f7; }
.review-fold > summary { padding:4px 0; color:var(--navy); font-size:14px; font-weight:700; }
.review-fold > summary .review-badge { margin:4px 0 4px 8px; }
.review-fold[open] > summary { margin-bottom:16px; }
.review-fold .review-field { min-width:0; }
.review-postal-value > strong { font-size:20px; color:var(--navy); }
.auth-shell { grid-template-columns:minmax(0,1fr); background:radial-gradient(ellipse at 50% 20%,#fffcf5 0%,#f6f3ed 65%); }
.auth-header { min-height:84px; }
.auth-brand .brand-name { font-size:21px; }
.auth-brand small { color:#78643e; }
.auth-main { max-width:540px; padding-top:42px; padding-bottom:60px; }
.auth-emblem { display:flex; justify-content:center; margin-bottom:18px; }
.auth-emblem .insignia { width:72px; height:72px; filter:drop-shadow(0 8px 10px #162a4626); }
.auth-main > h1, .auth-main > .eyebrow, .auth-intro { text-align:center; }
.auth-main .form { border-top:3px solid var(--gold); padding:28px; box-shadow:0 14px 40px #162a4609; }
.auth-main .form p { margin:0 0 20px; }
.auth-main .form label { display:block; margin-bottom:7px; }
.auth-main .primary { min-height:var(--button-auth-height,42px); }
.auth-main .note { text-align:center; }
@media(max-width:1179px) { .shell { display:block; } aside { display:none; } .crumb { color:var(--navy); font-weight:600; } }
@media(max-width:650px) { h1 { font-size:24px; } .auth-header { padding:16px 20px; } .auth-brand .brand-name { font-size:19px; } .auth-main { padding-top:28px; } .auth-main .form { padding:22px; } }

.auth-main:not(.admin-main) input:not([type=checkbox]):not([type=hidden]):not([type=submit]) { height:var(--button-auth-height,42px); min-height:var(--button-auth-height,42px); }
