/* DP-BOX ファイル便。角丸は使わない（丸い「?」だけ例外） */
:root{
  --brand:#1a5fb4;--brand-dark:#114070;--tint:#eaf4fd;
  --text:#1e2837;--muted:#6b7585;--border:#dde3ee;--border-strong:#c7cee0;
  --panel:#fff;--bg:#eaf5fe;--ok:#0f8a5f;--danger:#e11d48;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg) url(bg.jpg) center top/cover no-repeat fixed;color:var(--text);font:15px/1.7 "Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic UI",Meiryo,sans-serif}
.wrap{max-width:960px;margin:0 auto;padding:0 16px}
.narrow{max-width:620px}
main.wrap{padding-top:28px;padding-bottom:48px;margin-top:28px;margin-bottom:40px;background:rgba(255,255,255,.9);border:1px solid rgba(17,64,112,.12)}
main.wrap.narrow{margin-left:auto;margin-right:auto}

.bar{background:#fff;border-bottom:3px solid var(--brand-dark)}
.bar .wrap{display:flex;align-items:center;gap:16px;padding-top:10px;padding-bottom:8px}
.logo{height:46px;width:auto;display:block}
.sub{color:var(--muted);font-size:13px}
.foot{color:var(--muted);font-size:12px;padding:16px 0 20px;border-top:1px solid var(--border);background:rgba(255,255,255,.92)}

.page-h{font-size:22px;margin:0 0 6px;color:var(--brand-dark)}
.lead,.tab-lead{color:#3c4656;margin:0 0 18px}
.topline{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
h2{font-size:18px;margin:0 0 10px}

.btn{display:inline-block;font:inherit;font-size:14px;padding:6px 14px;border:1px solid var(--border-strong);background:#fff;color:var(--text);cursor:pointer;text-decoration:none;line-height:1.5}
.btn:hover{border-color:var(--brand);color:var(--brand)}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700}
.btn.primary:hover{background:var(--brand-dark);color:#fff}
.btn.big{font-size:18px;padding:14px 36px;margin-top:18px}
.btn.danger{color:var(--danger);border-color:#f2b8c6}
.btn.danger:hover{background:var(--danger);color:#fff}
.btn.link{border:0;background:none;color:var(--muted);text-decoration:underline;padding:4px}
.btn.disabled{color:var(--muted);background:#f0f2f6;cursor:default;border-color:var(--border)}
.btn:disabled{opacity:.45;cursor:default}

/* 主役の入力枠：左にブランド色の線 */
.in-box{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--brand);padding:18px 20px}
.in-label{display:block;font-weight:700;font-size:16px;margin-bottom:10px}
.big-input{width:100%;height:58px;font-size:26px;padding:0 14px;border:1px solid var(--border-strong);font-family:inherit;letter-spacing:.08em}
.big-input:focus,.sm-input:focus{outline:2px solid var(--brand);outline-offset:-1px}
.in-box .btn.big{margin-top:14px}

.drop-area{border:2px dashed var(--border-strong);padding:42px 16px;text-align:center;background:#fafbff}
.drop.over .drop-area{border-color:var(--brand);background:var(--tint)}
.drop.has .drop-area{padding:18px 16px}
.drop-main{font-size:22px;font-weight:700;margin:0;color:#3c4656}
.drop.has .drop-main{font-size:16px}
.drop-sub{margin:8px 0 0;color:var(--muted)}
.pick-list,.files{list-style:none;margin:12px 0 0;padding:0}
.pick-list li,.files li{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}
.fname{flex:1;min-width:0;overflow-wrap:anywhere}
.fsize{color:var(--muted);font-size:13px;white-space:nowrap}
.pick-total{margin:8px 0 0;font-weight:700;text-align:right}

/* 脇役の設定：小さく1枠にまとめる */
.set-box{margin-top:16px;background:var(--panel);border:1px solid var(--border);padding:12px 16px;font-size:12px}
.set-title{font-weight:700;color:var(--muted);margin-bottom:6px;display:flex;align-items:center;gap:6px}
.set-row{display:flex;align-items:center;gap:10px;padding:5px 0;flex-wrap:wrap}
.set-l{width:72px;flex:none;color:#3c4656}
.seg{display:inline-flex;flex-wrap:wrap}
.seg button{font:inherit;font-size:12px;height:30px;padding:0 12px;border:1px solid var(--border-strong);background:#fff;cursor:pointer;margin-right:-1px;color:var(--text)}
.seg button.on{background:var(--brand);border-color:var(--brand);color:#fff;position:relative}
.sm-input{height:30px;font:inherit;font-size:12px;padding:0 8px;border:1px solid var(--border-strong);width:160px}
.sm-input.wide{flex:1;min-width:200px;max-width:420px}
.iq{width:20px;height:20px;border-radius:50%;border:1px solid var(--border-strong);background:#fff;color:var(--muted);font:700 12px/1 sans-serif;cursor:pointer;padding:0}
.pophint{background:var(--tint);border-left:3px solid var(--brand);padding:8px 12px;margin:4px 0 8px;font-size:12px;color:#3c4656}

.progress{margin-top:18px;background:#fff;border:1px solid var(--border);padding:14px 16px}
.bar-out{height:14px;background:#e8ebf3}
.bar-in{height:100%;width:0;background:var(--brand);transition:width .3s}
.progress p{margin:8px 0}
.err{color:var(--danger);font-weight:700;margin:10px 0 0}

.result{background:var(--tint);border:1px solid #b9d6f2;padding:18px 20px;margin-top:4px}
.result-label{display:inline-block;font-size:11px;background:var(--brand);color:#fff;padding:1px 8px;margin-bottom:6px}
.res{display:grid;grid-template-columns:90px 1fr;gap:8px 12px;margin:10px 0 14px}
.res dt{font-weight:700;padding-top:4px}
.res dd{margin:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.res input{flex:1;min-width:0;height:36px;font:inherit;font-size:15px;padding:0 10px;border:1px solid var(--border-strong);background:#fff}
.mail-h{font-weight:700;margin-bottom:4px}
textarea{width:100%;font:inherit;font-size:13px;padding:10px;border:1px solid var(--border-strong);background:#fff;resize:vertical}

.history{margin-top:40px}
.free{color:var(--muted);font-size:13px}
.bin{background:#fff;border:1px solid var(--border);border-left:3px solid var(--ok);padding:12px 16px;margin-bottom:10px}
.bin.off{border-left-color:var(--border-strong);opacity:.75}
.bin-head{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.st{font-size:11px;padding:1px 6px;border:1px solid}
.st-ok{color:var(--ok)}
.st-off{color:var(--muted)}
.bin-memo{font-weight:700;flex:1}
.bin-date,.bin-meta{color:var(--muted);font-size:12px}
.bin-meta{display:flex;gap:6px 16px;flex-wrap:wrap;margin-top:4px}
.bin-files{margin:6px 0 0;padding-left:18px;font-size:13px}
.bin-act{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;align-items:center}
.bin-act .btn{font-size:12px;padding:3px 10px}
.bin-log{margin-top:8px;font-size:12px}
.bin-log summary{cursor:pointer;color:var(--brand)}
.bin-log table{border-collapse:collapse;width:100%;margin-top:4px}
.bin-log td{border-top:1px solid var(--border);padding:3px 8px 3px 0;vertical-align:top}
.bin-log td.ua{color:var(--muted);overflow-wrap:anywhere}

/* 受け取る側 */
.info-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;background:#fff;border:1px solid var(--border);border-left:3px solid var(--brand);padding:10px 14px}
.files li{background:#fff;padding:12px 14px;border:1px solid var(--border);border-top:0}
.files{margin-top:0}
.files .btn{white-space:nowrap}
.note{color:var(--muted);font-size:13px;margin:12px 0 0}
.note.safe{margin-top:28px;border-top:1px solid var(--border);padding-top:12px}
.msg{background:#fff;border:1px solid var(--border);border-left:3px solid var(--muted);padding:20px}
.msg h1{font-size:20px;margin:0 0 8px}

@media (max-width:600px){
  main.wrap{margin:12px 8px 24px;padding-left:12px;padding-right:12px}
  .logo{height:38px}
  .sub{font-size:12px}
  .pick-list li,.files li{flex-wrap:wrap}
  .files .btn{width:100%;text-align:center}
  .res{grid-template-columns:1fr}
  .big-input{font-size:22px}
}
.bin-log td:nth-child(-n+2){white-space:nowrap}
/* 中身が短いページでもフッターを画面の下に置く */
body{display:flex;flex-direction:column;min-height:100vh}
body>main.wrap{width:100%}
.foot{margin-top:auto}
@media (max-width:600px){body>main.wrap{width:auto}}
@media (max-width:600px){.bin-memo{flex-basis:100%;order:3}}
.bin-act + .bin-act{margin-top:6px}
.act-l{width:72px;flex:none;font-size:12px;font-weight:700;color:#3c4656}
.sm-input.pw{width:200px;font-size:14px;letter-spacing:.04em}
@media (max-width:600px){.act-l{width:100%}}
.dlst{font-size:12px;font-weight:700;padding:1px 8px;flex-basis:100%;order:4}
.dl-yes{color:#fff;background:var(--ok);flex-basis:auto}
.dl-no{color:#8a5a00;background:#fff4d6;border:1px solid #f0d58a;flex-basis:auto}
.bin-log th{text-align:left;font-weight:700;color:#3c4656;padding:3px 8px 3px 0;border-top:1px solid var(--border)}
.bin-log td.ip{font-family:ui-monospace,Consolas,monospace}
.foot .jcn{height:26px;width:auto;display:block}
.sender{display:flex;align-items:center;gap:14px;padding:0 0 16px;margin-bottom:18px;border-bottom:1px solid var(--border)}
.sender-l{font-size:12px;font-weight:700;color:var(--muted);border:1px solid var(--border-strong);padding:1px 8px;flex:none}
.sender img{height:34px;width:auto;max-width:70%}
.dlst-row{margin-top:6px}
.dlst{display:inline-block}
@media (max-width:600px){
  .bin-log tr:first-child{display:none}
  .bin-log tr{display:block;border-top:1px solid var(--border);padding:4px 0}
  .bin-log td{display:inline;border:0;padding:0 8px 0 0;white-space:normal}
}
.nopw{font-size:13px;color:var(--muted);width:200px}
.foot .wrap{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap}
.foot-note{font-size:11px;color:var(--muted)}
.foot-note a{color:var(--muted)}
.office{font-family:inherit;font-size:11px;font-weight:700;color:var(--brand-dark);border:1px solid var(--brand-dark);padding:0 5px;margin-left:6px}
.bin-log tr.is-office td{color:var(--muted)}
/* ---- 一覧：1件1行＋展開 ---- */
#list{background:#fff;border:1px solid var(--border)}
.row{display:grid;grid-template-columns:118px minmax(0,1fr) 120px 92px 150px;align-items:center;gap:12px;padding:9px 14px;font-size:14px}
.row-h{font-size:11px;font-weight:700;color:var(--muted);padding-top:7px;padding-bottom:7px;background:#f7f9fc;border-bottom:1px solid var(--border)}
.item{border-bottom:1px solid var(--border)}
.item:last-child{border-bottom:0}
.item>.row{cursor:pointer}
.item>.row:hover{background:#f5f9fe}
.item>.row:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
.item.open>.row{background:var(--tint)}
.item.off>.row{color:var(--muted)}
.c-st{display:flex;align-items:center;gap:6px;white-space:nowrap}
.c-st small{font-size:11px;color:var(--muted)}
.bd{font-size:11px;font-weight:700;padding:1px 7px;border:1px solid;white-space:nowrap}
.bd-yes{background:var(--ok);border-color:var(--ok);color:#fff}
.bd-no{background:#fff4d6;border-color:#f0d58a;color:#8a5a00}
.bd-off{color:var(--muted);border-color:var(--border-strong)}
.c-memo{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.c-files,.c-exp{font-size:12px;color:var(--muted);white-space:nowrap}
.c-tools{display:flex;justify-content:flex-end;align-items:center;gap:10px}
.btn.sm{font-size:12px;padding:2px 10px}
.chev{font-size:10px;color:var(--muted);transition:transform .15s}
.item.open .chev{transform:rotate(180deg)}
.bin-detail{padding:4px 14px 14px 144px;background:#fbfcfe;border-top:1px dashed var(--border)}
.bin-detail .bin-meta{margin-top:8px}
.log-h{font-size:12px;font-weight:700;color:#3c4656;margin-top:12px}
table.bin-log{border-collapse:collapse;width:100%;margin-top:4px;font-size:12px}
table.bin-log th{text-align:left;font-weight:700;color:#3c4656;padding:3px 8px 3px 0;border-top:1px solid var(--border)}
table.bin-log td{border-top:1px solid var(--border);padding:3px 8px 3px 0;vertical-align:top}
table.bin-log td:nth-child(-n+2){white-space:nowrap}
table.bin-log td.ip{font-family:ui-monospace,Consolas,monospace}
table.bin-log tr.is-office td{color:var(--muted)}
@media (max-width:760px){
  .row-h{display:none}
  .row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"st memo tools" "st files exp";row-gap:2px;column-gap:10px}
  .c-st{grid-area:st;flex-direction:column;align-items:flex-start;gap:2px}
  .c-memo{grid-area:memo}.c-files{grid-area:files}.c-exp{grid-area:exp;text-align:right}.c-tools{grid-area:tools}
  .bin-detail{padding-left:14px}
  table.bin-log tr:first-child{display:none}
  table.bin-log tr{display:block;border-top:1px solid var(--border);padding:4px 0}
  table.bin-log td{display:inline;border:0;padding:0 8px 0 0;white-space:normal}
}
@media (max-width:760px){.c-memo{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}}
