:root{--navy:#002c6a;--navy-dk:#0f2350;--navy-l:#eef3fc;--line:#d9e1ec;--ink:#1f2328;--gray:#6b7280;--marker:#ffe24d;--ok:#0c6b58;--ng:#b42318;--warn:#8a5a00;--bg:#fff;}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.6;}
a{color:var(--navy);}
.top{display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:58px;border-bottom:3px solid var(--navy);}
.brand{font-weight:800;font-size:19px;text-decoration:none;color:var(--navy);letter-spacing:.04em;}
.brand::before{content:"";display:inline-block;width:22px;height:3px;background:#f25500;margin-right:10px;vertical-align:5px;}
#nav{display:flex;gap:20px;font-size:14px;align-items:center;}
#nav a{text-decoration:none;color:var(--gray);font-weight:600;}
#nav a.on{color:var(--navy);border-bottom:2px solid var(--navy);}
#nav .me{color:var(--gray);}
main{max-width:1120px;margin:0 auto;padding:32px 28px 80px;}
h1{font-size:28px;font-weight:800;margin-bottom:6px;}
h1 .mk{background:var(--marker);padding:0 6px;}
h2{font-size:17px;font-weight:800;color:var(--navy-dk);margin:34px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;}
.lead{color:var(--gray);margin-bottom:22px;}
table{width:100%;border-collapse:collapse;}
th{font-size:12.5px;color:var(--gray);font-weight:600;text-align:left;padding:8px 10px;border-bottom:1.5px solid var(--navy);}
td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top;}
td.num{font-family:"DIN Alternate","Helvetica Neue",Arial,sans-serif;font-weight:700;font-size:18px;color:var(--navy);white-space:nowrap;}
.co{font-weight:800;font-size:16px;text-decoration:none;color:var(--ink);}
.co:hover{color:var(--navy);text-decoration:underline;}
.sub{font-size:12.5px;color:var(--gray);}
.st{display:inline-block;font-size:12px;font-weight:700;padding:1px 9px;border-radius:10px;border:1.5px solid;white-space:nowrap;}
.st.done{color:var(--ok);} .st.error{color:var(--ng);} .st.queued,.st.running{color:var(--warn);}
button,.btn{font:inherit;font-weight:700;font-size:14px;padding:8px 16px;border-radius:4px;border:1.5px solid var(--navy);background:#fff;color:var(--navy);cursor:pointer;white-space:nowrap;}
button.primary{background:var(--navy);color:#fff;}
button:disabled{opacity:.45;cursor:default;}
button.link{border:none;padding:0;background:none;color:var(--navy);text-decoration:underline;font-weight:600;}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin:22px 0 4px;}
.tabs a{padding:8px 0;text-decoration:none;color:var(--gray);font-weight:700;}
.tabs a.on{color:var(--navy);border-bottom:3px solid var(--navy);}
label{display:block;font-size:13px;font-weight:700;color:var(--navy-dk);margin:16px 0 5px;}
label small{font-weight:500;color:var(--gray);margin-left:6px;}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=month],textarea,select{font:inherit;width:100%;padding:8px 10px;border:1.5px solid var(--line);border-radius:4px;background:#fff;}
input:focus,textarea:focus{outline:none;border-color:var(--navy);}
textarea{min-height:120px;font-size:14px;}
td input{padding:6px 8px;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;}
.checks{margin-top:6px;}
.checks li{list-style:none;font-size:13.5px;padding:3px 0 3px 14px;position:relative;}
.checks li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;border-radius:50%;background:#f5a300;}
.checks b{color:var(--warn);}
.note{background:var(--navy-l);border-left:4px solid var(--navy);padding:12px 16px;font-size:14px;margin:14px 0;}
.err{color:var(--ng);font-size:13.5px;margin-top:8px;}
.login{max-width:380px;margin:80px auto;}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy-dk);color:#fff;padding:10px 20px;border-radius:4px;font-size:14px;opacity:0;transition:opacity .2s;pointer-events:none;}
.toast.on{opacity:1;}
.empty{color:var(--gray);padding:24px 0;}
@media (max-width:700px){main{padding:20px 16px 60px;}.top{padding:0 16px;}.grid2{grid-template-columns:1fr;}td,th{padding:8px 6px;}.hide-sp{display:none;}h1{font-size:23px;}}
.brand,#nav a,#nav button,th{white-space:nowrap;}
@media (max-width:700px){
  .top{height:auto;flex-wrap:wrap;padding:10px 16px;gap:6px;}
  #nav{gap:14px;font-size:13px;flex-wrap:wrap;}
  table.list thead{display:none;}
  table.list tr{display:block;border-bottom:1px solid var(--line);padding:10px 0;}
  table.list td{display:block;border:none;padding:3px 0;text-align:left!important;}
  table.list td:empty{display:none;}
  .tabs{gap:16px;overflow-x:auto;}
}
