/* マイページ・管理画面の共通部品。site.css の上に重ねる */
.page{padding:28px 0 96px}
@media(min-width:900px){.page{padding:44px 0 120px}}
.page-title{font-size:clamp(24px,3.4vw,32px);margin-bottom:6px}
.page-lead{color:var(--sumi-2);font-size:14px;margin-bottom:24px}
.grid-2{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}
@media(min-width:860px){.grid-2{grid-template-columns:1fr 1fr}.grid-2.wide-left{grid-template-columns:1.4fr 1fr}}
.card{background:var(--shiro);border:1px solid var(--line);padding:24px 22px}
@media(min-width:900px){.card{padding:28px}}
.card h2{font-size:20px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.stack>*+*{margin-top:20px}
.login{max-width:440px;margin:30px auto}
.login h1{font-size:26px;margin-bottom:6px}
.login .demo{font-size:13px;color:var(--sumi-2);border:1px solid var(--line-2);padding:12px 14px;margin-top:18px;line-height:1.8}
.radio-list{display:grid;gap:8px}
.radio-list label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);background:#fff;cursor:pointer;font-weight:400;margin:0;font-size:15px;color:var(--sumi)}
.radio-list label:has(input:checked){border-color:var(--sumi);box-shadow:inset 0 0 0 1px var(--sumi)}
.radio-list input{accent-color:var(--sumi);margin-top:6px;width:18px;height:18px;flex:none}
fieldset{border:0}
legend{font-size:13.5px;letter-spacing:.06em;margin-bottom:6px;color:var(--sumi-2)}
.file-drop{border:1px dashed var(--line-2);padding:20px;text-align:center;background:#fff;font-size:14px;color:var(--sumi-2)}
.file-drop input{display:block;margin:8px auto 0;font-size:14px;max-width:100%}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin-top:10px}
.thumbs figure{position:relative;aspect-ratio:1;overflow:hidden;border:1px solid var(--line);background:#fff}
.thumbs img{width:100%;height:100%;object-fit:cover}
.thumbs button{position:absolute;top:2px;right:2px;background:rgba(32,40,44,.85);color:#fff;width:22px;height:22px;font-size:13px;line-height:1}
.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:2px 10px;white-space:nowrap;border:1px solid transparent}
.status::before{content:"";width:7px;height:7px;background:currentColor}
.status.received{background:#F6EEDC;color:#7D5410;border-color:#DEC48E}
.status.working{background:#E3EAF3;color:#2B4A74;border-color:#B6C7DE}
.status.published{background:#E3ECE7;color:#2E4A42;border-color:#B7CCC2}
.status.returned{background:#F3E6E2;color:#6E2A1F;border-color:#D9B8B0}
.req-list{display:grid;gap:10px}
.req-item{background:#fff;border:1px solid var(--line);padding:14px 16px;display:grid;gap:6px}
.req-item .top{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.req-item .title{font-weight:500}
.req-item .meta{font-size:12px;color:var(--sumi-2)}
.req-item .body{font-size:14px;white-space:pre-wrap;color:var(--sumi-2)}
.req-item .note{font-size:13px;background:var(--ground);padding:10px 12px;border:1px solid var(--line)}
.req-item .photos{display:flex;gap:6px;flex-wrap:wrap}
.req-item .photos img{width:64px;height:64px;object-fit:cover;border:1px solid var(--line);cursor:zoom-in}
.empty{padding:32px;text-align:center;color:var(--sumi-2);font-size:14px;border:1px dashed var(--line-2)}
.kv2{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:14px}
.kv2 dt{color:var(--sumi-2)}
.kv2 dd{font-weight:500}
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.stat{background:#fff;border-top:1px solid var(--sumi);padding:14px 16px}
.stat b{display:block;font-family:var(--display);font-size:28px;line-height:1.1;font-weight:400}
.stat span{font-size:12px;color:var(--sumi-2)}
.quota{height:6px;background:var(--ground-2);overflow:hidden;margin-top:6px}
.quota i{display:block;height:100%;background:var(--kin)}
table.tbl2{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border-top:1px solid var(--sumi)}
.tbl2 th,.tbl2 td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tbl2 th{font-weight:500;color:var(--sumi-2);font-size:12px;letter-spacing:.06em}
.tbl-scroll{overflow-x:auto}
dialog{border:1px solid var(--line-2);padding:0;max-width:min(640px,92vw);width:100%;background:var(--shiro);color:var(--sumi)}
dialog::backdrop{background:rgba(32,40,44,.6)}
dialog .dlg-body{padding:22px}
dialog h2{font-size:20px;margin-bottom:12px}
.dlg-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:18px}
dialog img.full{max-height:70vh;margin:0 auto}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto}
.tabs button{padding:10px 14px;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs button[aria-selected=true]{border-bottom-color:var(--kin);font-weight:500}
.sys-nav{display:flex;gap:4px;align-items:center;font-size:14px}
.sys-nav a,.sys-nav button{padding:6px 10px;border-bottom:1px solid transparent}
.sys-nav a:hover,.sys-nav button:hover{border-bottom-color:var(--kin)}
.demo-badge{display:inline-block;font-size:11px;letter-spacing:.06em;padding:2px 8px;border:1px solid var(--kin);color:var(--kin);vertical-align:middle;font-family:var(--body);font-weight:400}
